git clone https://gist.github.com/08be90a2f21205062ccc.git
$ npm install # maybe npm start will take care of it but just in case
$ npm start && open out.png
> [email protected] start /Users/bsergean/src/offscreen_sample
> coffee offscreen_sample.coffee
THREE.WebGLRenderer 71
THREE.WebGLRenderer: TypeError: Object #<Object> has no method 'addEventListener'
THREE.WebGLRenderer: OES_texture_float extension not supported.
THREE.WebGLRenderer: OES_texture_float_linear extension not supported.
THREE.WebGLRenderer: OES_texture_half_float extension not supported.
THREE.WebGLRenderer: OES_texture_half_float_linear extension not supported.
THREE.WebGLRenderer: OES_standard_derivatives extension not supported.
THREE.WebGLRenderer: OES_element_index_uint extension not supported.
THREE.WebGLRenderer: EXT_texture_filter_anisotropic extension not supported.
Image written: out.png
Those warnings are harmless for our test case, but might be problematic for some folks. Support for extension is planned and coming -> stackgl/headless-gl#5
If you are on Linux you will need Xvfb. One way to do it:
$ xvfb-run -s "-ac -screen 0 1280x1024x24” node_modules/.bin/coffee offscreen_sample.coffee
More infos here -> https://github.com/stackgl/headless-gl#how-can-headless-gl-be-used-on-a-headless-linux-machine
Tada ! You just created an image thanks to OpenGL and many awesome libraries. How cool is that. Now open the output image. On a Mac you can just do that:
open out.png
Here's how it should look like: ->
npm run compile
This will compile the .coffee file to javascript and print it in your terminal. It's almost the same as the .coffee.
Hi.
When I try to use the example code I get this error:
THREE.WebGLProgram: shader error: 1282 gl.VALIDATE_STATUS false gl.getPRogramInfoLog not linked
THREE.WebGLProgram: gl.getProgramInfoLog()not linked
It seems that the following condition in three.js (line 24556) is always false:
if ( _gl.getProgramParameter( program, _gl.LINK_STATUS ) === false ) {
Here the javascript code: