Skip to content

Instantly share code, notes, and snippets.


Nicolas Lelong rotoglup

View GitHub Profile
rotoglup /
Created Jul 19, 2011
python_assert_debug_logging - benchmark, using python assert to discard function calls and arguments evaluation
import contextlib
import time
def time_print(prefix):
t0 = time.time()
t1 = time.time()
print "'%s' time: %fmsec" % (prefix, (t1-t0)*1000)
rotoglup /
Created Feb 14, 2012
svn-import python script meant as a replacement for (from - changed to prevent window popups on windows + performance optimisation for 'add' phase
#!/usr/bin/env python
# -*-mode: python; coding: utf-8 -*-
# svn-import - Import a new release, such as a vendor drop.
# The "Vendor branches" chapter of "Version Control with Subversion"
# describes how to do a new vendor drop with:
# >The goal here is to make our current directory contain only the
# >libcomplex 1.1 code, and to ensure that all that code is under version
View gist:2470162
#!/usr/bin/env python
# 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
rotoglup / stb_image.c
Created May 23, 2012
Modified version of stb_image 1.33 to resolve a typedef conflict for 'uint' with Android NDK (r7b) (removed uint from stb_image)
View stb_image.c
/* stbi-1.33 - public domain JPEG/PNG reader -
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
Primarily of interest to game developers and other people who can
View rtgu_ktx.h
* 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 / 201909 - a look into threejs
Last active May 19, 2020
201909 - A look into threejs editor app
View 201909 - a look into threejs

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
rotoglup / 201909 - a look into threejs
Last active Apr 21, 2020
201909 - a look into threejs raycaster
View 201909 - a look into threejs

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 / graphics-companies.geojson
Last active Dec 6, 2019
A map of companies developping graphics software, in Europe
View graphics-companies.geojson
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
rotoglup / Blender scripting
Last active Feb 9, 2021
Some Blender 2.80 scripting notes
View Blender scripting


I had crashes while scripting the CUDA devices selection (b3d v2.83 + 4x GTX 2080 GPU).

The original code was :

preferences = bpy.context.preferences
cycles_preferences = preferences.addons["cycles"].preferences
cuda_devices, opencl_devices = cycles_preferences.get_devices()
View 202003 - a look into threejs API
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...