|
jsfiddle.net
|
This code
|
|
jsfiddle.net
|
undo this using sampling bias
|
|
jsfiddle.net
|
decent seam mask
|
|
jsfiddle.net
|
remove the seam
|
|
senocular.com
|
Senocular article
|
|
wiki.alternativaplatform.com
|
this animated GIF
|
|
twitter.com
|
discussing their interest in blogs
|
|
en.wikipedia.org
|
AIR
|
|
twitter.com
|
flash is dead
|
|
shadertoy.com
|
GLSL
|
|
wonderfl.net
|
AGAL
|
|
github.com
|
community polyfills simply are not enough to plug the gap
|
|
wonderfl.net
|
draw the display list video object into bitmap
|
|
twitter.com
|
quite recently
|
|
help.adobe.com
|
VideoTexture
|
|
help.adobe.com
|
RENDER_STATE event
|
|
youtube.com
|
or else
|
|
help.adobe.com
|
webcam activityLevel property
|
|
jsfiddle.net
|
nice WebGL app with the sphere and custom lighting
|
|
jsfiddle.net
|
<img loading="lazy" data-attachment-id="1053" data-permalink="https://makc3d.wordpress.com/2015/09/17/alternative-to-gl_frontfacing/gl_frontfacing_00/" data-orig-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_00.png" data-orig-size="400,242" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="sphere + custom lighting" data-image-description="" data-image-caption="" data-large-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_00.png?w=400" class="aligncenter size-full wp-image-1053" style="border:0 solid white;" src="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_00.png?w=500" alt="sphere + custom lighting" srcset="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_00.png 400w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_00.png?w=150&h=91 150w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_00.png?w=300&h=182 300w" sizes="(max-width: 400px) 100vw, 400px">
|
|
learnopengl.com
|
view space
|
|
jsfiddle.net
|
something more complex
|
|
jsfiddle.net
|
<img loading="lazy" data-attachment-id="1054" data-permalink="https://makc3d.wordpress.com/2015/09/17/alternative-to-gl_frontfacing/gl_frontfacing_01/" data-orig-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_01.png" data-orig-size="400,242" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="something more complex" data-image-description="" data-image-caption="" data-large-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_01.png?w=400" class="aligncenter size-full wp-image-1054" style="border:0 solid white;" src="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_01.png?w=500" alt="something more complex" srcset="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_01.png 400w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_01.png?w=150&h=91 150w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_01.png?w=300&h=182 300w" sizes="(max-width: 400px) 100vw, 400px">
|
|
jsfiddle.net
|
fix
|
|
jsfiddle.net
|
<img loading="lazy" data-attachment-id="1055" data-permalink="https://makc3d.wordpress.com/2015/09/17/alternative-to-gl_frontfacing/gl_frontfacing_02/" data-orig-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_02.png" data-orig-size="400,242" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="gl_FrontFacing_02" data-image-description="" data-image-caption="" data-large-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_02.png?w=400" class="aligncenter size-full wp-image-1055" style="border:0 solid white;" src="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_02.png?w=500" alt="gl_FrontFacing_02" srcset="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_02.png 400w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_02.png?w=150&h=91 150w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_02.png?w=300&h=182 300w" sizes="(max-width: 400px) 100vw, 400px">
|
|
jsfiddle.net
|
voila
|
|
jsfiddle.net
|
<img loading="lazy" data-attachment-id="1058" data-permalink="https://makc3d.wordpress.com/2015/09/17/alternative-to-gl_frontfacing/gl_frontfacing_03/" data-orig-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_03.png" data-orig-size="400,242" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="gl_FrontFacing_03" data-image-description="" data-image-caption="" data-large-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_03.png?w=400" class="aligncenter size-full wp-image-1058" style="border:0 solid white;" src="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_03.png?w=500" alt="gl_FrontFacing_03" srcset="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_03.png 400w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_03.png?w=150&h=91 150w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_03.png?w=300&h=182 300w" sizes="(max-width: 400px) 100vw, 400px">
|
|
github.com
|
their workaround
|
|
jsfiddle.net
|
this
|
|
stackoverflow.com
|
this solution
|
|
stackoverflow.com
|
<img loading="lazy" data-attachment-id="1060" data-permalink="https://makc3d.wordpress.com/2015/09/17/alternative-to-gl_frontfacing/screen-shot-2015-09-17-at-0-49-29/" data-orig-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/screen-shot-2015-09-17-at-0-49-29.png" data-orig-size="495,255" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="poor man gl_FrontFacing" data-image-description="" data-image-caption="" data-large-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/screen-shot-2015-09-17-at-0-49-29.png?w=495" class="aligncenter size-full wp-image-1060" style="border:0 solid white;" src="https://makc3d.wordpress.com/wp-content/uploads/2015/09/screen-shot-2015-09-17-at-0-49-29.png?w=500" alt="poor man gl_FrontFacing" srcset="https://makc3d.wordpress.com/wp-content/uploads/2015/09/screen-shot-2015-09-17-at-0-49-29.png 495w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/screen-shot-2015-09-17-at-0-49-29.png?w=150&h=77 150w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/screen-shot-2015-09-17-at-0-49-29.png?w=300&h=155 300w" sizes="(max-width: 495px) 100vw, 495px">
|
|
jsfiddle.net
|
tried it
|
|
jsfiddle.net
|
<img loading="lazy" data-attachment-id="1061" data-permalink="https://makc3d.wordpress.com/2015/09/17/alternative-to-gl_frontfacing/gl_frontfacing_04/" data-orig-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_04.png" data-orig-size="400,242" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="gl_FrontFacing_04" data-image-description="" data-image-caption="" data-large-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_04.png?w=400" class="aligncenter size-full wp-image-1061" style="border:0 solid white;" src="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_04.png?w=500" alt="gl_FrontFacing_04" srcset="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_04.png 400w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_04.png?w=150&h=91 150w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_04.png?w=300&h=182 300w" sizes="(max-width: 400px) 100vw, 400px">
|
|
jsfiddle.net
|
Here
|
|
jsfiddle.net
|
<img loading="lazy" data-attachment-id="1062" data-permalink="https://makc3d.wordpress.com/2015/09/17/alternative-to-gl_frontfacing/gl_frontfacing_05/" data-orig-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_05.png" data-orig-size="400,242" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="better solution" data-image-description="" data-image-caption="" data-large-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_05.png?w=400" class="aligncenter size-full wp-image-1062" style="border:0 solid white;" src="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_05.png?w=500" alt="better solution" srcset="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_05.png 400w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_05.png?w=150&h=91 150w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_05.png?w=300&h=182 300w" sizes="(max-width: 400px) 100vw, 400px">
|
|
jsfiddle.net
|
gradually change the normal instead of rapid jump
|
|
jsfiddle.net
|
<img loading="lazy" data-attachment-id="1063" data-permalink="https://makc3d.wordpress.com/2015/09/17/alternative-to-gl_frontfacing/gl_frontfacing_06/" data-orig-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_06.png" data-orig-size="400,242" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="even better fix" data-image-description="" data-image-caption="" data-large-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_06.png?w=400" class="aligncenter size-full wp-image-1063" style="border:0 solid white;" src="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_06.png?w=500" alt="even better fix" srcset="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_06.png 400w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_06.png?w=150&h=91 150w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_06.png?w=300&h=182 300w" sizes="(max-width: 400px) 100vw, 400px">
|
|
jsfiddle.net
|
pushed too far
|
|
jsfiddle.net
|
<img loading="lazy" data-attachment-id="1064" data-permalink="https://makc3d.wordpress.com/2015/09/17/alternative-to-gl_frontfacing/gl_frontfacing_07/" data-orig-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_07.png" data-orig-size="400,242" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="hello old friend" data-image-description="" data-image-caption="" data-large-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_07.png?w=400" class="aligncenter size-full wp-image-1064" style="border:0 solid white;" src="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_07.png?w=500" alt="hello old friend" srcset="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_07.png 400w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_07.png?w=150&h=91 150w, https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_07.png?w=300&h=182 300w" sizes="(max-width: 400px) 100vw, 400px">
|
|
jsfiddle.net
|
this probably pixel-perfect shader
|
|
jsfiddle.net
|
<img loading="lazy" data-attachment-id="1064" data-permalink="https://makc3d.wordpress.com/2015/09/17/alternative-to-gl_frontfacing/gl_frontfacing_07/" data-orig-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_07.png" data-orig-size="400,242" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="hello old friend" data-image-description="" data-image-caption="" data-large-file="https://makc3d.wordpress.com/wp-content/uploads/2015/09/gl_frontfacing_07.png?w=400" class="aligncenter size-full wp-image-1064" style="border:0 solid white;" src="https://i0.wp.com/i.imgur.com/ZF7OGvH.png" alt="hello old friend" width="400" height="242">
|
|
makc.github.io
|
good old days
|
|
developer.mozilla.org
|
transform: translate(-50%, -50%);
|
|
jsfiddle.net
|
he
|
|
jsdo.it
|
re
|
|
youtube.com
|
really fast
|
|
people.physics.anu.edu.au
|
some
|
|
youtube.com
|
videos
|
|
makc.github.io
|
here goes one
|
|
makc.github.io
|
<img loading="lazy" data-attachment-id="1038" data-permalink="https://makc3d.wordpress.com/2015/08/18/relativistic-lattice/screen-shot-2015-08-18-at-4-19-16/" data-orig-file="https://makc3d.wordpress.com/wp-content/uploads/2015/08/screen-shot-2015-08-18-at-4-19-16.png" data-orig-size="490,303" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="development screenshot" data-image-description="" data-image-caption="" data-large-file="https://makc3d.wordpress.com/wp-content/uploads/2015/08/screen-shot-2015-08-18-at-4-19-16.png?w=490" class="aligncenter wp-image-1038 size-full" style="border:0 solid white;" src="https://makc3d.wordpress.com/wp-content/uploads/2015/08/screen-shot-2015-08-18-at-4-19-16.png?w=500" alt="development screenshot" srcset="https://makc3d.wordpress.com/wp-content/uploads/2015/08/screen-shot-2015-08-18-at-4-19-16.png 490w, https://makc3d.wordpress.com/wp-content/uploads/2015/08/screen-shot-2015-08-18-at-4-19-16.png?w=150&h=93 150w, https://makc3d.wordpress.com/wp-content/uploads/2015/08/screen-shot-2015-08-18-at-4-19-16.png?w=300&h=186 300w" sizes="(max-width: 490px) 100vw, 490px">
|
|
donvblack.com
|
papers
|
|
vimeo.com
|
presentations
|
|
wonderfl.net
|
this kind of ray tracer
|
|
glslsandbox.com
|
this shader
|
|
i.juick.com
|
did not go well
|
|
en.wikipedia.org
|
Special relativity
|
|
en.wikipedia.org
|
experimental fact
|
|
wonderfl.net
|
space traveller calculator
|
|
9bitscience.blogspot.com
|
raymarching distance fields
|
|
shadertoy.com
|
all those awesome
|
|
glslsandbox.com
|
shaders
|
|
glslsandbox.com
|
this infinite cubes demo
|
|
glslsandbox.com
|
<img loading="lazy" data-attachment-id="1026" data-permalink="https://makc3d.wordpress.com/2015/08/14/infinite-cubes/ic_screen_1/" data-orig-file="https://makc3d.wordpress.com/wp-content/uploads/2015/08/ic_screen_1.png" data-orig-size="492,450" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="Exhibit 1: Gaps" data-image-description="" data-image-caption="" data-large-file="https://makc3d.wordpress.com/wp-content/uploads/2015/08/ic_screen_1.png?w=492" class="aligncenter wp-image-1026 size-full" style="border:0 solid;" src="https://makc3d.wordpress.com/wp-content/uploads/2015/08/ic_screen_1.png?w=500" alt="Exhibit 1: Gaps" srcset="https://makc3d.wordpress.com/wp-content/uploads/2015/08/ic_screen_1.png 492w, https://makc3d.wordpress.com/wp-content/uploads/2015/08/ic_screen_1.png?w=150&h=137 150w, https://makc3d.wordpress.com/wp-content/uploads/2015/08/ic_screen_1.png?w=300&h=274 300w" sizes="(max-width: 492px) 100vw, 492px">
|
|
makc.github.io
|
this particular shader
|
|
makc.github.io
|
<img loading="lazy" data-attachment-id="1031" data-permalink="https://makc3d.wordpress.com/2015/08/14/infinite-cubes/cubes_attempt_2/" data-orig-file="https://makc3d.wordpress.com/wp-content/uploads/2015/08/cubes_attempt_2.gif" data-orig-size="841,357" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="Exhibit 4: Iterations of my shader" data-image-description="" data-image-caption="" data-large-file="https://makc3d.wordpress.com/wp-content/uploads/2015/08/cubes_attempt_2.gif?w=500" class="aligncenter wp-image-1031 size-large" style="border:0 solid;" src="https://makc3d.wordpress.com/wp-content/uploads/2015/08/cubes_attempt_2.gif?w=500&h=212" alt="Exhibit 4: Iterations of my shader" width="500" height="212" srcset="https://makc3d.wordpress.com/wp-content/uploads/2015/08/cubes_attempt_2.gif?w=500 500w, https://makc3d.wordpress.com/wp-content/uploads/2015/08/cubes_attempt_2.gif?w=150 150w, https://makc3d.wordpress.com/wp-content/uploads/2015/08/cubes_attempt_2.gif?w=300 300w, https://makc3d.wordpress.com/wp-content/uploads/2015/08/cubes_attempt_2.gif?w=768 768w, https://makc3d.wordpress.com/wp-content/uploads/2015/08/cubes_attempt_2.gif 841w" sizes="(max-width: 500px) 100vw, 500px">
|
|
makc.github.io
|
it works faster than classic method
|
|
threejs.org
|
Object3D
|
|
threejs.org
|
events
|
|
threejs.org
|
ray casting
|
|
jsdo.it
|
<img loading="lazy" data-attachment-id="1022" data-permalink="https://makc3d.wordpress.com/2015/04/04/three-js-and-2d-overlays/screen-shot-2015-04-05-at-12-17-46/" data-orig-file="https://makc3d.wordpress.com/wp-content/uploads/2015/04/screen-shot-2015-04-05-at-12-17-46.png" data-orig-size="212,263" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="Screen Shot 2015-04-05 at 12.17.46" data-image-description="" data-image-caption="" data-large-file="https://makc3d.wordpress.com/wp-content/uploads/2015/04/screen-shot-2015-04-05-at-12-17-46.png?w=212" class="alignleft wp-image-1022 size-full" src="https://makc3d.wordpress.com/wp-content/uploads/2015/04/screen-shot-2015-04-05-at-12-17-46.png?w=500" alt="Screen Shot 2015-04-05 at 12.17.46" style="border:0 solid black;" srcset="https://makc3d.wordpress.com/wp-content/uploads/2015/04/screen-shot-2015-04-05-at-12-17-46.png 212w, https://makc3d.wordpress.com/wp-content/uploads/2015/04/screen-shot-2015-04-05-at-12-17-46.png?w=121&h=150 121w" sizes="(max-width: 212px) 100vw, 212px">
|
|
jsdo.it
|
this
|