Hi Diego, Thanks for the explanation. Yes, that makes sense and seems to me that it should work (based on my limited understanding of how Wt works - it would be good if someone like Koen could confirm it). You are basically saying you are going to create some Wt Object that provides an interface to load geometry (and presumably textures?) and then provide a renderer for it using WebGL. I thought you were talking about exposing the entire WebGL API directly to a Wt application, but you are more talking about creating a simple scene graph object.
So for something like this it all depends on how general you want to make it. If you just want to provide some basic interface to provide vertices, camera location, FOV, etc. it should be reasonably straightforward. If you want to allow the user of your Wt object to specify shaders, format of vertices (e.g., position, texcoord, normal, etc.), depth test mode, etc. it will get more complicated. I guess a good first step would be to create an object that draws a triangle using WebGL inside of Wt. Assuming that works, you can make your Wt object as simple or complicated as you want to :) Hope my feedback was somewhat useful... -- Dan On Mar 15, 2010, at 6:33 PM, Diego Cantor-Rivera wrote: On 15/03/2010 12:59 PM, Diego Cantor wrote: Hi Daniel, On 2:59 PM, Ginsburg, Daniel wrote: Hi Diego, This is a very interesting idea. Can you explain in further detail how you are thinking of integrating this into Wt? A: I want to be able to load a 3D model/scene from the server and explore it in the browser. I haven't looked into too much detail in the Wt API but I have seen that there are some classes like WPainter that allow you to access the html5 canvas. I would write something similar to map my model to the WebGL primitives that the canvas understands. (currently only nightly builds of the main browsers). I know OpenGL/OpenGL ES well (wrote a book on it :), but have not looked seriously at WebGL before. As I understand it, it is essentially a set of JavaScript bindings to an OpenGL ES 2.0-equivalent API. A: I think you are right. Also, WebGL keeps OpenGL syntax. Just thinking out loud here, in order for this to work from the Wt server you would need to generate the equivalent Javascript function calls to be executed on the client. A: correct. So, the Wt object that you expose would need to have all of the OpenGL ES API function calls A: yes, internally. and then you would build up a set of Javascript code based on the GL calls made by the server application? A: I am not sure of understanding what you mean here. I think that I would hide all these calls from the public API of my object(s). It should be transparent for anyone wanting to use the canvas to render 3D scenes. This sounds possible, but not trivial. I have seen the code .. it is not trivial at all. lol. We once worked on doing a networked renderer for OpenGL ES and it was the same basic idea in that you have to serialize/deserialize all of the OpenGL ES calls on both sides. It is a non-trivial exercise though, took a very smart engineer several months to get it working :) For the WebGL case I think that you would only serialize the model you want to see. This could take sometime while you load the scene information from the server. Other than that, updating the scene or changing it is all local. Maybe you can elaborate a little more on how you envisioned this working? A: Initially, I would like to be able to load and play with a 3D model. Later on, I would like to integrate this with libraries such as VTK for my own project (medical imaging). Cheers, Diego Cantor Thanks. On Mar 12, 2010, at 5:42 PM, Diego Cantor-Rivera wrote: Dear list members, I have been thinking about writing code to integrate the new WebGL in Wt. But before jumping in, I would like to know the perspective of more experienced Wt users/developers. Do you guys think it is feasible? I mean, I know that using the html5 canvas is possible and that one could include the required webgl javascript libraries (in the same fasion as ExtJS is included). Also, WebGL is a DOM API which means that I could access it with ajax to update the state of whatever I have rendered there (?) Any comments? Has anyone think of this before? Thanks, Diego -- Diego Cantor-Rivera Ph.D.Student in Biomedical Engineering, University of Western Ontario Imaging Research Laboratories, Robarts Research Institute P.O. Box 5015, 100 Perth Drive, London, ON, Canada N6A 5K8 email: dcantor <at>imaging.robarts.ca Visit me at: http://bit.ly/dcantor/ <ATT00001..txt><ATT00002..txt> Dan Ginsburg / email: [email protected]<mailto:[email protected]> Principal Software Architect Fetal-Neonatal Neuroimaging and Development Science Center Children's Hospital Boston 300 Longwood Avenue Boston, MA 02115 Phone: 857-218-5140 -- Diego Cantor-Rivera Ph.D.Student in Biomedical Engineering, University of Western Ontario Imaging Research Laboratories, Robarts Research Institute P.O. Box 5015, 100 Perth Drive, London, ON, Canada N6A 5K8 email: dcantor <at>imaging.robarts.ca Visit me at: http://bit.ly/dcantor/<http://bit.ly/dcantor> <ATT00001..txt><ATT00002..txt> ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ witty-interest mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/witty-interest
