| | Re: Bricksmith 2.4: Faster. Much Faster. Allen Smith
|
| | (...) Hi Roland, Bricksmith now recursively flattens the geometry for each referenced top-level part then sorts it according to primitive type (triangles, quads, lines). Since the primitives are sorted, each type can be enclosed in a single glBegin (...) (14 years ago, 16-Jun-10, to lugnet.cad.dev.mac, FTX)
|
| | |
| | | | Re: Bricksmith 2.4: Faster. Much Faster. Remi Gagne
|
| | | | (...) Heh, you hit that problem too? I've played around writing an OpenGL LDraw renderer based exclusively on display lists, but I can't for the life of me figure out how to handle conditional lines in this setup. Has anyone else solved this (...) (14 years ago, 16-Jun-10, to lugnet.cad.dev.mac, FTX)
|
| | | | |
| | | | | | Re: Bricksmith 2.4: Faster. Much Faster. Don Heyse
|
| | | | | (...) You can ignore the conditional lines and achieve the same effect with display lists using the stencil buffer techniques presented here: (URL) (14 years ago, 16-Jun-10, to lugnet.cad.dev.mac, FTX)
|
| | | | | |
| | | | | | | Re: Bricksmith 2.4: Faster. Much Faster. Don Heyse
|
| | | | | (...) (URL) technique and the conditional lines both target the same edges lines where the front facing polygons meet the back facing polygons, so the results should be quite similar. (14 years ago, 16-Jun-10, to lugnet.cad.dev.mac, FTX)
|
| | | | | |
| | | | | | | Re: Bricksmith 2.4: Faster. Much Faster. Don Heyse
|
| | | | | (...) And another thing... The BFC technique actually has an advantage over conditional lines because it works on the entire scene after it's been assembled. Whereas the conditional lines at the edges of the primitives are created in advance, and (...) (14 years ago, 16-Jun-10, to lugnet.cad.dev.mac, lugnet.cad.dev, FTX)
|
| | | | | |
| | | | | | | Re: Bricksmith 2.4: Faster. Much Faster. Don Heyse
|
| | | | | (...) So finally this brings us to a technique that combines the predictive abilities of the conditional lines with the runtime advantages of the stencil and BFC algorithms. Think of the conditional line as a pair of triangles with a shared edge (...) (14 years ago, 16-Jun-10, to lugnet.cad.dev, FTX)
|
| | | | | |
| | | | | | | Re: Bricksmith 2.4: Faster. Much Faster. Alex Taylor
|
| | | | | (...) Interesting, but complicated IMO :-) Shaders offer a much easier implementation, and (I suspect) a faster one. Geometry-shaders for preference, but the algorithm can be implemented using vertex-shaders or even ARB vertex-programs to support (...) (14 years ago, 16-Jun-10, to lugnet.cad.dev, FTX)
|
| | | | | |
| | | | | | | Re: Bricksmith 2.4: Faster. Much Faster. Don Heyse
|
| | | | | (...) Ah ha! Yet another reason to read that vertex-shader book. So, are you suggesting running this algorithm on the graphics card (with counters for the vertices instead counting pixels in the stencil buffer) or perhaps some other algorithm? (...) (14 years ago, 16-Jun-10, to lugnet.cad.dev, FTX)
|
| | | | | |
| | | | | | | Re: Bricksmith 2.4: Faster. Much Faster. Alex Taylor
|
| | | | | (...) Actually, it's even simpler! This is the code for the geometry-shader: #version 120 #extension GL_NV_geometry_shader4 : enable varying out vec4 gl_TexCoord[]; float determinant(mat2 m) { return m[0][0] * m[1][1] - m[0][1] * m[1][0]; } void (...) (14 years ago, 16-Jun-10, to lugnet.cad.dev)
|
| | | | | |
| | | | | | | Re: Bricksmith 2.4: Faster. Much Faster. Don Heyse
|
| | | | | | (...) ... Wow, that is simple. It looks just like the description of the algorithm in the LDRAW specs. I haven't felt this old since manipulating the colormap for animation went outta style. :^) Thanks for sharing, Don (14 years ago, 16-Jun-10, to lugnet.cad.dev)
|
| | | | | | |
| | | | | | | | Re: Bricksmith 2.4: Faster. Much Faster. Alex Taylor
|
| | | | | | | (...) Hoo...that takes me back! :-) Doing the second shader was a bit of a blast from the past, actually - it's over 10 years since I last wrote assembler in anger! Alex (14 years ago, 16-Jun-10, to lugnet.cad.dev)
|
| | | | | | | |
| | | | | | | Re: Bricksmith 2.4: Faster. Much Faster. Roland Melkert
|
| | | | | (...) <snip> (...) Wow, this is amazing. I had no idea you could do these kinds of things with shaders. Like Don I too think it's time for me to get a good book/document on using shaders in OpenGL. Thanks for the revelation. Roland (14 years ago, 16-Jun-10, to lugnet.cad.dev)
|
| | | | | |
| | | | Re: Bricksmith 2.4: Faster. Much Faster. Roland Melkert
|
| | | | In lugnet.cad.dev.mac, Allen Smith wrote: <snip> (...) Thanks for the insight Allen, I'm also not a 3D guru, but I like to fool around with it as much as anyone interested in 3d programming. Your method is roughly the same as what LD4DStdudio does, (...) (14 years ago, 16-Jun-10, to lugnet.cad.dev.mac, FTX)
|
| | | | |
| | | | | | Re: Bricksmith 2.4: Faster. Much Faster. Alex Taylor
|
| | | | (...) One drawback with VBOs is that - unlike displaylists - you can't stick arbitrary GL calls in them. I'm using lists because I need to be able to put matrix operations in them as well as geometry. (...) Change the cull-face orientation ;-) (...) (...) (14 years ago, 16-Jun-10, to lugnet.cad.dev.mac, FTX)
|
| | | | |
| | | | | | Re: Bricksmith 2.4: Faster. Much Faster. Roland Melkert
|
| | | | In lugnet.cad.dev.mac, Alex Taylor wrote: <snip> (...) <snip> (...) Duh, I was over thinking it big time. Thinking scaling etc would f-up the normals, but with mirroring they will stay the same length. So you are right all I have to do is check if (...) (14 years ago, 16-Jun-10, to lugnet.cad.dev.mac, FTX)
|
| | | | |