| | Re: Bricksmith 2.4: Faster. Much Faster.
|
|
(...) 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.
|
|
(...) (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.
|
|
(...) 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.
|
|
(...) 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.
|
|
(...) 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.
|
|
(...) 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.
|
|
(...) 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.
|
|
(...) ... 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.
|
|
(...) 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.
|
|
(...) <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)
|