Skip to content

Instantly share code, notes, and snippets.

Nicolas Lelong rotoglup

Block or report user

Report or block rotoglup

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@rotoglup
rotoglup / 201909 - a look into threejs raycaster.md
Last active Sep 20, 2019
201909 - a look into threejs raycaster
View 201909 - a look into threejs raycaster.md

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 Sep 20, 2019
201909 - A look into threejs editor app
View 201909 - a look into threejs editor.md

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
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
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 - 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
View gist:2470162
#!/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
@rotoglup
rotoglup / svn-import.py
Created Feb 14, 2012
svn-import python script meant as a replacement for svn_load_dirs.pl (from http://svn.haxx.se/users/archive-2006-10/0857.shtml) - changed to prevent window popups on windows + performance optimisation for 'add' phase
View svn-import.py
#!/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
@rotoglup
rotoglup / python_assert_debug_logging.py
Created Jul 19, 2011
python_assert_debug_logging - benchmark, using python assert to discard function calls and arguments evaluation
View python_assert_debug_logging.py
import contextlib
import time
@contextlib.contextmanager
def time_print(prefix):
t0 = time.time()
yield
t1 = time.time()
print "'%s' time: %fmsec" % (prefix, (t1-t0)*1000)
You can’t perform that action at this time.