To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cad.dev.macOpen lugnet.cad.dev.mac in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / Development / Macintosh / 1046
  Re: Bricksmith 2.4: Faster. Much Faster.
 
(...) ...snip.... (...) Allan, Congratulations on such a great improvement! Keep up the good work. Kevin (14 years ago, 14-Jun-10, to lugnet.cad.dev.mac, FTX)
 
  Re: Bricksmith 2.4: Faster. Much Faster.
 
In lugnet.cad.dev.mac, Kevin L. Clague wrote: <snip> (...) <snip> (...) Hi, Keving Just from a technical interest, how did you achieve that boost? I'm in the midst of writing a new LDraw renderer myself, so I'm very interested in any possible (...) (14 years ago, 14-Jun-10, to lugnet.cad.dev.mac, FTX)
 
  Re: Bricksmith 2.4: Faster. Much Faster.
 
(...) Hi Roland, Just to be clear, Allan recoded and achieved this fantastic performance improvement. Kevin (14 years ago, 15-Jun-10, to lugnet.cad.dev.mac, FTX)
 
  Re: Bricksmith 2.4: Faster. Much Faster.
 
In lugnet.cad.dev.mac, Kevin L. Clague wrote: <snip> (...) Hi Kevin, Sorry I replied to the wrong message, that's what you get if you read the group in a newsgroup client and post at the site. Still hoping Allan could share some insight on the (...) (14 years ago, 15-Jun-10, to lugnet.cad.dev.mac, FTX)
 
  Re: Bricksmith 2.4: Faster. Much Faster.
 
(...) 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.
 
(...) 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.
 
(...) 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.
 
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.
 
(...) 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.
 
(...) 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.
 
(...) 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)
 
  Re: Bricksmith 2.4: Faster. Much Faster.
 
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)

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR