Horde3D

Next-Generation Graphics Engine
It is currently 22.12.2024, 02:05

All times are UTC + 1 hour




Post new topic Reply to topic  [ 4 posts ] 
Author Message
PostPosted: 17.10.2016, 12:22 
Offline

Joined: 17.10.2016, 10:48
Posts: 4
Hello,

I've been creating for several months a small program focused on CAE (Computed Aided Engineering) modeling.
My goal was to use for every parts of the program lightweight libraries for coding ergonomic perspective.

For the rendering part, I discovered Horde3D which is light / easy to understand...
As a CAE program, we need to deal with other requirements as used in video games. Like, handling up to 60Millions of vertices.

With really big models, the framerate is almost 6 fps which is quite acceptable.

I'm really happy about the engine. I was able to create a special "reader" to convert on the fly the CAE models to Horde3D geometry resources.
I was also able to use the skinning property of Horde3D.

Now, I'm facing an issue. I need to be able to draw lines within the models which will be affected by the hardware skinning.
Indeed, our models are not only composed of surfaces but also of lines which are used to represent wires, springs, cables, etc… (Up to now, there are not drawn)

In my opinion, I need to modify the Horde3D's Geometry Resource by adding a flag to differentiate Surface to line and to render them using the right OpenGL flags.
It will be a big modification on Horde3D API and I wanted to know if someone already work on that features in order the share some "know how"?!

Thanks in advance.


Top
 Profile  
Reply with quote  
PostPosted: 17.10.2016, 21:28 
Offline

Joined: 17.11.2009, 17:00
Posts: 205
Location: Russia, Moscow
If I correctly understood, you need to draw lines on the models, like "show edges" in the 3ds Max. For that you can use geometry shaders to generate lines on the fly. Geometry shaders are supported in my repository (https://github.com/algts/Horde3D/tree/GLModern) and changes in it will soon be applied to main horde repository. You can also use something like that:
http://strattonbrazil.blogspot.ru/2011/09/single-pass-wireframe-rendering_10.html
http://codeflow.org/entries/2012/aug/02/easy-wireframe-display-with-barycentric-coordinates/


Top
 Profile  
Reply with quote  
PostPosted: 21.10.2016, 08:46 
Offline

Joined: 17.10.2016, 10:48
Posts: 4
Hi,

Thanks for the answer.
Indeed, it is not what I meant.
I'm using the following method to create a geometry on the fly: http://horde3d.org/wiki/index.php5?title=Horde3D_Wiki:HOWTO#How_to_procedurally_generate_a_geometry_resource

It is only possible to define triangles using index buffer. Additionally, I wanted to have the possibility to draw lines only by defining two vertices which are not part of any triangles.

PS:
BTW, nice idea to implement ModernGL to Horde3D...


Top
 Profile  
Reply with quote  
PostPosted: 21.10.2016, 12:02 
Offline

Joined: 17.11.2009, 17:00
Posts: 205
Location: Russia, Moscow
It is probably better to write an extension that supports drawing with lines. You can add a new scene type that accepts your data in any format you find suitable and draw it with lines. Check terrain extension for reference. Then you'll be able to use standard geometry/meshes for typical 3d data and your scene node for wires/cables. Basically, you need to implement render function and parsing function, everything else is copied with little modifications from terrain extension or horde's internal scene nodes.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 23 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group