Skip to content

Instantly share code, notes, and snippets.

View rotoglup's full-sized avatar

Nicolas Lelong rotoglup

View GitHub Profile

Based on my looking at ThreeJS r115dev source code, while trying to figure out how to customize the lighting by writing my own shader.

Materials

ThreeJS has the following Material classes :

  • MeshBasicMaterial, not affected by lights
  • MeshLambertMaterial: lighting is computed at each vertex, for diffuse lighting, and interpolated in gouraud like fashion

Once more, I'm struggling to wrap my head around the threejs API, here are my notes.

IMPORTANT base on threejs r114 (march 2020)

API topics covered :

  • Scene and Object3D, hierarchy, transforms
  • Maths, linear algebra
  • DirectionalLight, as I'm currently trying to understand how to attach one of them to a Camera...
Once more, I'm struggling to wrap my head around the threejs API, here are my notes.
> **IMPORTANT** base on threejs `r114` (march 2020)
API topics covered :
* Scene and Object3D, hierarchy, transforms
* Maths, linear algebra
* DirectionalLight, as I'm currently trying to understand how to attach one of them to a Camera...
@rotoglup
rotoglup / Blender scripting notes.md
Last active September 26, 2022 10:19
Some Blender 2.80+ scripting notes

Scene, view, collections, etc.

Create a new collection

collection = bpy.data.collections.get(collectionName)
if collection is None:
    collection = bpy.data.collections.new(collectionName)
    bpy.context.scene.collection.children.link(collection)
@rotoglup
rotoglup / graphics-companies.geojson
Last active December 6, 2019 11:01
A map of companies developping graphics software, in Europe
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@rotoglup
rotoglup / 201909 - a look into threejs raycaster.md
Last active December 2, 2022 11:55
201909 - a look into threejs raycaster

A look into threejs raycaster

I've been looking at the current master source code, not a specific version : github commit b3ce68b4 on sept. 2019.

The source code is located in src/core/Raycaster.js, and the doc is online.

A Raycaster instance is constructed given a ray (origin point + direction vector) and a range on this ray (near, far distances), and offers the following API :

  • intersectObject( object, recursive, optionalTarget ) : Array
@rotoglup
rotoglup / 201909 - a look into threejs editor.md
Last active February 10, 2022 10:26
201909 - A look into threejs editor app

A look into threejs editor

My notes while reading the source code from threejs Editor app, as I've been curious about :

  • the editor architecture
  • the undo/redo system
  • the camera control behaviour & code
  • the object transform gizmos behaviours & code
/*
* rtgu_ktx.h - Version -1 WIP untested
* No endianness swap support
int ktx_load(ktx_image* i, ktx__context* k);
*/
// TODO(nico) public typedefs
@rotoglup
rotoglup / stb_image.c
Created May 23, 2012 11:04
Modified version of stb_image 1.33 to resolve a typedef conflict for 'uint' with Android NDK (r7b) (removed uint from stb_image)
/* stbi-1.33 - public domain JPEG/PNG reader - http://nothings.org/stb_image.c
when you control the images you're loading
no warranty implied; use at your own risk
NOTE this is a modified version : removed 'uint' typedef as it conflicted with <sys/types.h> on Android NDK r7b
and was not of much use anyway
https://gist.github.com/2774576
QUICK NOTES:
Primarily of interest to game developers and other people who can
@rotoglup
rotoglup / gist:2470162
Created April 23, 2012 10:43
svndumpfilter3
#!/usr/bin/env python
#
# https://gist.github.com/2470162
#
# Copyright (C) 2006 Martin Blais <blais at furius dot ca>
# 2008-02: Improvements by "Giovanni Bajo" <rasky at develer dot com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or