![]() |
WebGL/Three.js real-time renderer - Printable Version +- LDraw.org Discussion Forums (https://forums.ldraw.org) +-- Forum: LDraw Programs (https://forums.ldraw.org/forum-7.html) +--- Forum: Rendering Techniques (https://forums.ldraw.org/forum-20.html) +--- Thread: WebGL/Three.js real-time renderer (/thread-8946.html) |
WebGL/Three.js real-time renderer - Athanasios Gaitatzes - 2013-04-20 I would like to share a browser based renderer that I have been working on and would like the input of people on how to deploy it. I am most concerned about copyright issues. The way it is setup right now is that you can only view 5-6 files that I have found on the net (and dont have copyright :-) First download this simple text file http://www.virtuality.gr/AGG/EaZD-Lego/lego.scene that contains the scene description in XML format and http://www.virtuality.gr/AGG/EaZD-Lego/scene.xml which describes the options you can have in a scene file. Then visit http://www.virtuality.gr/AGG/EaZD-Lego/index.html and drag the lego.scene file in the rectangle, wait a little (my server is not very fast) and you will see the rendering of the model. I have tested both Firefox 20.0 and Chrome 26.0. Chrome needs the command line option --allow-file-access-from-files before it starts. In my tests I have found Chrome to be about 20% faster than Firexox. You can uncomment and view any of the models in the scene file. In XML this '<!--' opens a comment and this '-->' closes one. The reason you can only see these examples is because I also have them on my server. But as you can put your own models in the scene file I would have no idea which model it is since I cannot read from your hard drive. This is where I am asking for your input. The only way I can think of, is if you drop on my server two files. One the scene description (.scene) and one for the lego file (note that more than one ldr file might be referenced inside the .scene file). But that would also mean that you are giving me your LDraw file creation. If nobody minds that, I can go ahead and implement it. Other design suggestions are welcome. Anyway I enjoyed implementing parts of the LDraw spec, specially the nerve-racking BFC :-) PS. Conditional lines are not supported. Re: WebGL/Three.js real-time renderer - Roland Melkert - 2013-04-21 Apart from glitchy shadows it looks very nice using SeaMonkey on a Radeon 7950. I also noticed I'm getting the exact same framerate you mentioned awhile back in another thread (~30). This makes me think it's somehow limited by webgl. One question though, why use multiple files? If you use only one (e.g. zip container) you don't have to deal with security stuff on that front. As on the copyright stuff, a simple disclaimer stating something like (every thing posted remains copyrighted by their respected owners, and will not be redistributed ) should take care of that. Re: WebGL/Three.js real-time renderer - Athanasios Gaitatzes - 2013-04-22 You can improve on the shadows by increasing the resolution of the shadow map on the light node. The default size is 512. Make it 1024 at the expense of speed. I appreciate your input on the other questions. I will wait to see what other people think. |