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&#174; 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

Reply via email to