<div dir="auto"><div dir="auto">Hi,</div><div dir="auto"><br></div>Castle Game Engine and view3dscene support both RenderedTexture and all cubemap nodes, including GeneratedCubeMapTexture .<div dir="auto"><br></div><div dir="auto">See</div><div dir="auto"><br></div><div dir="auto"><a href="https://castle-engine.sourceforge.io/x3d_implementation_texturing_extensions.php#section_ext_rendered_texture">https://castle-engine.sourceforge.io/x3d_implementation_texturing_extensions.php#section_ext_rendered_texture</a><br></div><div dir="auto"><br></div><div dir="auto"><a href="https://castle-engine.sourceforge.io/x3d_implementation_cubemaptexturing.php">https://castle-engine.sourceforge.io/x3d_implementation_cubemaptexturing.php</a><br></div><div dir="auto"><br></div><div dir="auto">They work on all platforms (desktop and mobile - Android, iOS). We use OpenGL(ES) FBO (Framebuffer Object) in both cases to efficiently capture the rendered result to the texture. In case of GeneratedCubeMapTexture, we can specify which face of the cubemap is currently written, so it's quite efficient - the rendered contents are put by GPU straight into the proper texture side.</div><div dir="auto"><br></div><div dir="auto">See <a href="https://github.com/castle-engine/castle-engine/blob/master/src/images/opengl/castleglimages_rendertotexture.inc">https://github.com/castle-engine/castle-engine/blob/master/src/images/opengl/castleglimages_rendertotexture.inc</a> for our TGLRenderToTexture class that wraps FBO to expose all the necessary features.</div><div dir="auto"><br></div><div dir="auto">P.S. We also use this class for GeneratedShadowMap, <a href="https://castle-engine.sourceforge.io/x3d_extensions_shadow_maps.php">https://castle-engine.sourceforge.io/x3d_extensions_shadow_maps.php</a> :)</div><div dir="auto"><br></div><div dir="auto">Regards,</div><div dir="auto">Michalis</div><div dir="auto"><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">16.01.2018 2:28 AM "Andreas Plesch" <<a href="mailto:andreasplesch@gmail.com">andreasplesch@gmail.com</a>> napisał(a):<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Don,<br>
<br>
thanks for your response. Here is a first round of support links.<br>
<br>
<a href="http://www.xj3d.org/extensions/render_texture.html" rel="noreferrer" target="_blank">http://www.xj3d.org/<wbr>extensions/render_texture.html</a><br>
<br>
<a href="https://castle-engine.sourceforge.io/x3d_implementation_texturing_extensions.php#section_ext_rendered_texture" rel="noreferrer" target="_blank">https://castle-engine.<wbr>sourceforge.io/x3d_<wbr>implementation_texturing_<wbr>extensions.php#section_ext_<wbr>rendered_texture</a><br>
<br>
Castle does not seem to have ComposedCubeMap or GeneratedCubeMap<br>
<br>
<a href="http://doc.instantreality.org/documentation/nodetype/RenderedTexture/" rel="noreferrer" target="_blank">http://doc.instantreality.org/<wbr>documentation/nodetype/<wbr>RenderedTexture/</a><br>
was the template for the x3dom node.<br>
<br>
I suspect freeWrl supports imagecubemaps, probably composedcubemaps,<br>
only perhaps generatedcubemaps and renderedtexture.<br>
<br>
There are good screen capturing web browser extensions which can<br>
produce small and large animations, example gif attached.<br>
<br>
All the best,<br>
-Andreas<br>
<br>
<br>
On Mon, Jan 15, 2018 at 7:20 PM, Don Brutzman <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>> wrote:<br>
> Thanks for the analysis and suggestion.  No this node has never been<br>
> proposed for use in X3D.<br>
><br>
> I searched and found documentation at<br>
><br>
>         X3DOM documentation: Node: RenderedTexture<br>
>         <a href="https://doc.x3dom.org/author/Texturing/RenderedTexture.html" rel="noreferrer" target="_blank">https://doc.x3dom.org/author/<wbr>Texturing/RenderedTexture.html</a><br>
><br>
> "This extension provides the ability to dynamically render a partial<br>
> scenegraph to an offscreen texture that can then be used on the geometry of<br>
> a node. This can be used in many different ways such as creating mirror<br>
> effects, inputs to shaders etc. The purpose of this component is to provide<br>
> for extended visual effects, but not the complete form of offscreen<br>
> rendering and buffers that would be available to lower-level rendering<br>
> APIs."<br>
><br>
> The fields are quite diverse and utilize multiple parts of a scene.  Some<br>
> further composition might be needed, worth closer scrutiny.<br>
><br>
> It is certainly interesting to expose this kind of functionality to scene<br>
> authors.  If rendered results might be saved to a file, then it could also<br>
> increase options for interactions within HTML pages.<br>
><br>
> The interpupillary distance field looks like something we would defer to X3D<br>
> v4.1 for Mixed Augmented Reality (MAR) VR/AR applications.<br>
><br>
> It would be great if someone wanted to lead the effort to add this node, and<br>
> perhaps closely related nodes.<br>
><br>
> On 1/16/2018 7:39 AM, Andreas Plesch wrote:<br>
>><br>
>> Dear group,<br>
>><br>
>> x3dom has a RenderedTexture node which very useful. Prompted by a<br>
>> x3dom-user list question, I started to think about using<br>
>> RenderedTextures as faces for a ComposedCubeMapNode which is also<br>
>> available in x3dom albeit only for ImageTexture sources.<br>
>><br>
>> Although I first thought it is technically difficult due to webgl<br>
>> limitations, after deep diving it turned out that there is a way to<br>
>> efficiently use gl textures (generated for RenderedTexture) as faces<br>
>> for gl cube map textures (using gl.copyTexImage2D()).<br>
>><br>
>> So I am developing in my cubemap branch of x3dom the ability for<br>
>> ComposedCubeMapNode to use RenderedTexture which can be updated per<br>
>> frame, for dynamic mirror effects and probably other uses. Here is an<br>
>> example:<br>
>><br>
>><br>
>> <a href="https://rawgit.com/andreasplesch/x3dom/cubemap/test/regression-suite/test/cases/cubemap/colorcube.html" rel="noreferrer" target="_blank">https://rawgit.com/<wbr>andreasplesch/x3dom/cubemap/<wbr>test/regression-suite/test/<wbr>cases/cubemap/colorcube.html</a><br>
>><br>
>> It more or less works but before I go further I would like to know how<br>
>> other browser approach dynamic cube maps from a high level. There is<br>
>> also the x3d GeneratedCubeMapNode which is intended for this effect.<br>
>> So one question would be which players actually implement a<br>
>> GeneratedCubeMapNode.<br>
>><br>
>> There are quite a few x3d browsers which have a RenderedTexture node.<br>
>> Do they allow using it with ComposedCubeMap ?<br>
>><br>
>> A big question is how recursive mirror in mirror are handled.<br>
>><br>
>> Is a RenderedTexture node a target for v.4 ?<br>
>><br>
>> Any feedback much welcome,<br>
>><br>
>> Andreas<br>
>><br>
><br>
><br>
> all the best, Don<br>
> --<br>
> Don Brutzman  Naval Postgraduate School, Code USW/Br       <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><br>
> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   <a href="tel:%2B1.831.656.2149" value="+18316562149">+1.831.656.2149</a><br>
> X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" rel="noreferrer" target="_blank">http://faculty.nps.edu/<wbr>brutzman</a><br>
<br>
<br>
<br>
--<br>
Andreas Plesch<br>
Waltham, MA 02453<br>
<br>______________________________<wbr>_________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/<wbr>listinfo/x3d-public_web3d.org</a><br>
<br></blockquote></div></div>