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 / * (-20)
Subject: 
Re: Bricksmith 2.5: More performance improvements
Newsgroups: 
lugnet.cad.dev.mac
Date: 
Sat, 30 Apr 2011 17:18:03 GMT
Viewed: 
21124 times
  
Thanks Allan!


Subject: 
Bricksmith 2.5: More performance improvements
Newsgroups: 
lugnet.announce, lugnet.cad, lugnet.cad.dev.mac
Followup-To: 
lugnet.cad.dev.mac
Date: 
Sat, 30 Apr 2011 03:04:40 GMT
Highlighted: 
(details)
Viewed: 
36503 times
  


Bricksmith 2.5 adds the following features:
  • Multi-threaded file parser (10.6 64-bit only)
  • Inlined primitives drawn with faster optimized structures
  • Direct primitive vertex interaction
  • Cursor-centric zooming
  • Supports 3DConnexion mice for part orientation
It also fixes the following bugs:
  • Fixed situation in which all viewports could disappear
  • Fixed preserving perspective/orthographic view between launches
  • Magnification trackpad gesture is smoother
Bricksmith 2.5 offers several more speed improvements; notably, it completely expunges the obsolete and slow rendering method which was hitherto used to draw inlined parts. Models which use inline parts could see substantial improvements. (Datsville is a good example.)

Also new to Bricksmith is the long-awaited ability to reshape primitives using onscreen handles, rather than typing in vertex coordinates.

Bricksmith requires Mac OS X 10.5 or later, and may be download it at http://bricksmith.sourceforge.net/. It is both Intel and PowerPC native.

Sincerely,
Allen Smith


Subject: 
Re: Bricksmith 2.4: Faster. Much Faster.
Newsgroups: 
lugnet.cad.dev.mac
Date: 
Fri, 18 Jun 2010 10:22:50 GMT
Viewed: 
35572 times
  
In lugnet.announce, Allen Smith wrote:
  

Bricksmith 2.4 adds the following features:
  • Drawing speed improvements of up to 1200%
  • 64-bit native on Mac OS X 10.6
  • Viewports fill their entire frame
  • Supports displaying the newly-standardized direct RGB color syntax
  • Supports displaying legacy blended colors from the original LDRAW
  • Saved files are formatted in traditional LDraw text style instead of fixed-width columns
It also fixes the following bugs:
  • Fixed part selection failures for certain indirectly-referenced objects
  • Eliminated several extra redraws
You read that right: Bricksmith 2.4 is over ten times faster than Bricksmith 2.3 on a computer with a good graphics card. (Even with a woefully underpowered graphics card, you’ll still see a huge improvement.) Bricksmith 2.4 actually achieves a faster framerate than LDView on my computer. Now you can enjoy real-time interaction with models containing thousands of pieces!

Bricksmith requires Mac OS X 10.5 or later, and may be download it at http://bricksmith.sourceforge.net/. It is both Intel and PowerPC native.

Sincerely,
Allen Smith

Great !!!!

One request can you make it posible to edit inserted minifigures with minifig generator ?

Thanks


Subject: 
Re: Bricksmith 2.4: Faster. Much Faster.
Newsgroups: 
lugnet.cad.dev.mac
Date: 
Wed, 16 Jun 2010 22:52:23 GMT
Viewed: 
35781 times
  
In lugnet.cad.dev.mac, Alex Taylor wrote: snip
  
   Only problem with the highlevel part approach is you can’t support mirrored submodels higher up in the rendering tree (like eg the star destroyed mpd uses) cause it will mess up the normals. Or did you find a way around that?


Change the cull-face orientation ;-)

snip
   Alex

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 it’s an ‘mirror’ matrix and then change the OpenGL culling direction for all the subparts.

Thanks.


Subject: 
Re: Bricksmith 2.4: Faster. Much Faster.
Newsgroups: 
lugnet.cad.dev.mac
Date: 
Wed, 16 Jun 2010 20:14:54 GMT
Viewed: 
35606 times
  
In lugnet.cad.dev.mac, Roland Melkert wrote:
   Your method is roughly the same as what LD4DStdudio does, except I use VBO to stuff whole high level parts in index-ed arrays. The indices are then grouped per color (16 being also a color) so a minimum of glcolor’s are needed during rendering. So it seems display lists aren’t ‘less’ then VBO at all to me.


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.


   Only problem with the highlevel part approach is you can’t support mirrored submodels higher up in the rendering tree (like eg the star destroyed mpd uses) cause it will mess up the normals. Or did you find a way around that?


Change the cull-face orientation ;-)


   Optimizations I was thinking of for my new renderer are using only triangles instead of 1 on 1 ld quads and triangles cause quads will be split by the driver anyway. (not sure if it’s actually faster doing it yourself but I’ll have to test that.)


I can’t say I’ve noticed the difference myself, but I suspect it’ll depend on the hardware and drivers as much as anything.


   The conditional lines are indeed a pain, normal lines can go in vbo/display lists much like the triangles but you have to test all conlines against the the current projection matrix for every redraw. I was planning to do this multithreaded (like LDView does).


See my previous post :-) Offload the grunt-work to the graphics-card, and it flies!


Alex


Subject: 
Re: Bricksmith 2.4: Faster. Much Faster.
Newsgroups: 
lugnet.cad.dev.mac
Date: 
Wed, 16 Jun 2010 17:26:31 GMT
Viewed: 
34524 times
  
In lugnet.cad.dev.mac, Allen Smith wrote: snip
  
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 while display lists are compiled. I create a unique display list for each color variation of the part. Flattening and sorting the primitives allowed the display lists to perform vastly improved internal optimizations over what they were able to do with the unsorted data from the previous version of Bricksmith.

Unfortunately, all this is a bit beside the point because display lists are on their way out, deprecated, not even available on the iPhone, etc. You are supposed to be using VBOs and VAOs nowadays. Unfortunately I am not a 3D guru, wrote my program using obsolete methods to begin with, and it has taken me a while to plan a transition.

By the way, Bricksmith does not render conditional lines. I consider shading to be a sufficient substitute, and conditional lines sound difficult to optimize.

Allen

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, except I use VBO to stuff whole high level parts in index-ed arrays. The indices are then grouped per color (16 being also a color) so a minimum of glcolor’s are needed during rendering. So it seems display lists aren’t ‘less’ then VBO at all to me.

Only problem with the highlevel part approach is you can’t support mirrored submodels higher up in the rendering tree (like eg the star destroyed mpd uses) cause it will mess up the normals. Or did you find a way around that?

Optimizations I was thinking of for my new renderer are using only triangles instead of 1 on 1 ld quads and triangles cause quads will be split by the driver anyway. (not sure if it’s actually faster doing it yourself but I’ll have to test that.)

The conditional lines are indeed a pain, normal lines can go in vbo/display lists much like the triangles but you have to test all conlines against the the current projection matrix for every redraw. I was planning to do this multithreaded (like LDView does).

Roland


Subject: 
Re: Bricksmith 2.4: Faster. Much Faster.
Newsgroups: 
lugnet.cad.dev.mac, lugnet.cad.dev
Followup-To: 
lugnet.cad.dev
Date: 
Wed, 16 Jun 2010 16:53:51 GMT
Viewed: 
35209 times
  
In lugnet.cad.dev.mac, Don Heyse wrote:
   In lugnet.cad.dev.mac, Don Heyse wrote:
   In lugnet.cad.dev.mac, Remi Gagne wrote:
   In lugnet.cad.dev.mac, Allen Smith wrote:
  
By the way, Bricksmith does not render conditional lines. I consider shading to be a sufficient substitute, and conditional lines sound difficult to optimize.

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 peculiarly specific problem?

You can ignore the conditional lines and achieve the same effect with display lists using the stencil buffer techniques presented here:

http://www.opengl.org/resources/code/samples/sig99/advanced99/notes/node108.html

And here’s a silhouette technique using BFC:

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.71.8503&rep=rep1&type=pdf

This 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.

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 must predict what they’re going to butt up against when the entire scene has been assembled. This prediction may not always be right, resulting in missing conditional lines and some visible where they should not be.


Subject: 
Re: Bricksmith 2.4: Faster. Much Faster.
Newsgroups: 
lugnet.cad.dev.mac
Date: 
Wed, 16 Jun 2010 16:38:48 GMT
Viewed: 
35134 times
  
In lugnet.cad.dev.mac, Don Heyse wrote:
   In lugnet.cad.dev.mac, Remi Gagne wrote:
   In lugnet.cad.dev.mac, Allen Smith wrote:
  
By the way, Bricksmith does not render conditional lines. I consider shading to be a sufficient substitute, and conditional lines sound difficult to optimize.

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 peculiarly specific problem?

You can ignore the conditional lines and achieve the same effect with display lists using the stencil buffer techniques presented here:

http://www.opengl.org/resources/code/samples/sig99/advanced99/notes/node108.html

And here’s a silhouette technique using BFC:

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.71.8503&rep=rep1&type=pdf

This 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.


Subject: 
Re: Bricksmith 2.4: Faster. Much Faster.
Newsgroups: 
lugnet.cad.dev.mac
Date: 
Wed, 16 Jun 2010 16:22:14 GMT
Viewed: 
35033 times
  
In lugnet.cad.dev.mac, Remi Gagne wrote:
   In lugnet.cad.dev.mac, Allen Smith wrote:
  
By the way, Bricksmith does not render conditional lines. I consider shading to be a sufficient substitute, and conditional lines sound difficult to optimize.

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 peculiarly specific problem?

You can ignore the conditional lines and achieve the same effect with display lists using the stencil buffer techniques presented here:

http://www.opengl.org/resources/code/samples/sig99/advanced99/notes/node108.html


Subject: 
Re: Bricksmith 2.4: Faster. Much Faster.
Newsgroups: 
lugnet.cad.dev.mac
Date: 
Wed, 16 Jun 2010 06:21:33 GMT
Viewed: 
35132 times
  
In lugnet.cad.dev.mac, Allen Smith wrote:
  
By the way, Bricksmith does not render conditional lines. I consider shading to be a sufficient substitute, and conditional lines sound difficult to optimize.

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 peculiarly specific problem?

Remi


Subject: 
Re: Bricksmith 2.4: Faster. Much Faster.
Newsgroups: 
lugnet.cad.dev.mac
Date: 
Wed, 16 Jun 2010 04:11:46 GMT
Viewed: 
35408 times
  
In lugnet.cad.dev.mac, Roland Melkert wrote:
   In lugnet.cad.dev.mac, Kevin L. Clague wrote: snip
  
  
  • Drawing speed improvements of up to 1200% snip

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 improvements I can implement over the old LD4DStudio rendering method. Although I suspect it has to do with alpha blending and or conditional line rendering (none of whom are done in LD4D, but I would like to do in the new implementation).

Anyhow it sounds great, maybe I get to use it one day (I’m planning to buy an apple for some years now).

Roland

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 while display lists are compiled. I create a unique display list for each color variation of the part. Flattening and sorting the primitives allowed the display lists to perform vastly improved internal optimizations over what they were able to do with the unsorted data from the previous version of Bricksmith.

Unfortunately, all this is a bit beside the point because display lists are on their way out, deprecated, not even available on the iPhone, etc. You are supposed to be using VBOs and VAOs nowadays. Unfortunately I am not a 3D guru, wrote my program using obsolete methods to begin with, and it has taken me a while to plan a transition.

By the way, Bricksmith does not render conditional lines. I consider shading to be a sufficient substitute, and conditional lines sound difficult to optimize.

Allen


Subject: 
Re: Bricksmith 2.4: Faster. Much Faster.
Newsgroups: 
lugnet.cad.dev.mac
Date: 
Tue, 15 Jun 2010 19:40:18 GMT
Viewed: 
36721 times
  
In lugnet.cad.dev.mac, Kevin L. Clague wrote: snip
  
Hi Roland,

Just to be clear, Allan recoded and achieved this fantastic performance improvement.

Kevin

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 rendering technique(s) used.

Roland


Subject: 
Re: Bricksmith 2.4: Faster. Much Faster.
Newsgroups: 
lugnet.cad.dev.mac
Date: 
Tue, 15 Jun 2010 01:02:37 GMT
Viewed: 
36453 times
  
In lugnet.cad.dev.mac, Roland Melkert wrote:
   In lugnet.cad.dev.mac, Kevin L. Clague wrote: snip
  
  
  • Drawing speed improvements of up to 1200% snip
Kevin

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 improvements I can implement over the old LD4DStudio rendering method. Although I suspect it has to do with alpha blending and or conditional line rendering (none of whom are done in LD4D, but I would like to do in the new implementation).

Anyhow it sounds great, maybe I get to use it one day (I’m planning to buy an apple for some years now).

Roland

Hi Roland,

Just to be clear, Allan recoded and achieved this fantastic performance improvement.

Kevin


Subject: 
Re: Bricksmith 2.4: Faster. Much Faster.
Newsgroups: 
lugnet.cad.dev.mac
Date: 
Mon, 14 Jun 2010 18:26:31 GMT
Viewed: 
36096 times
  
In lugnet.cad.dev.mac, Kevin L. Clague wrote: snip
  
  
  • Drawing speed improvements of up to 1200% • snip
Kevin

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 improvements I can implement over the old LD4DStudio rendering method. Although I suspect it has to do with alpha blending and or conditional line rendering (none of whom are done in LD4D, but I would like to do in the new implementation).

Anyhow it sounds great, maybe I get to use it one day (I’m planning to buy an apple for some years now).

Roland


Subject: 
Re: Bricksmith 2.4: Faster. Much Faster.
Newsgroups: 
lugnet.cad.dev.mac
Date: 
Mon, 14 Jun 2010 14:57:41 GMT
Viewed: 
36203 times
  
In lugnet.announce, Allen Smith wrote:
  

Bricksmith 2.4 adds the following features:
  • Drawing speed improvements of up to 1200%
  • 64-bit native on Mac OS X 10.6
  • Viewports fill their entire frame
  • Supports displaying the newly-standardized direct RGB color syntax
  • Supports displaying legacy blended colors from the original LDRAW
  • Saved files are formatted in traditional LDraw text style instead of fixed-width columns


...snip....

   Bricksmith requires Mac OS X 10.5 or later, and may be download it at http://bricksmith.sourceforge.net/. It is both Intel and PowerPC native.

Sincerely,
Allen Smith

Allan,

Congratulations on such a great improvement! Keep up the good work.

Kevin


Subject: 
Bricksmith 2.4: Faster. Much Faster.
Newsgroups: 
lugnet.announce, lugnet.cad, lugnet.cad.dev.mac
Followup-To: 
lugnet.cad.dev.mac
Date: 
Mon, 14 Jun 2010 01:10:38 GMT
Viewed: 
69669 times
  


Bricksmith 2.4 adds the following features:
  • Drawing speed improvements of up to 1200%
  • 64-bit native on Mac OS X 10.6
  • Viewports fill their entire frame
  • Supports displaying the newly-standardized direct RGB color syntax
  • Supports displaying legacy blended colors from the original LDRAW
  • Saved files are formatted in traditional LDraw text style instead of fixed-width columns
It also fixes the following bugs:
  • Fixed part selection failures for certain indirectly-referenced objects
  • Eliminated several extra redraws
You read that right: Bricksmith 2.4 is over ten times faster than Bricksmith 2.3 on a computer with a good graphics card. (Even with a woefully underpowered graphics card, you’ll still see a huge improvement.) Bricksmith 2.4 actually achieves a faster framerate than LDView on my computer. Now you can enjoy real-time interaction with models containing thousands of pieces!

Bricksmith requires Mac OS X 10.5 or later, and may be download it at http://bricksmith.sourceforge.net/. It is both Intel and PowerPC native.

Sincerely,
Allen Smith


Subject: 
Bricksmith 2.3.1
Newsgroups: 
lugnet.announce, lugnet.cad, lugnet.cad.dev.mac
Followup-To: 
lugnet.cad.dev.mac
Date: 
Tue, 15 Dec 2009 06:31:05 GMT
Highlighted: 
! (details)
Viewed: 
36780 times
  


Bricksmith 2.3.1 fixes the following bugs:
  • Empty steps no longer prevent files from being opened
  • Split and Close tooltips appear
  • Split and Close buttons always work
Bricksmith requires Mac OS X 10.5 or later, and may be download it at http://bricksmith.sourceforge.net/. It is both Intel and PowerPC native.

Sincerely,
Allen Smith


Subject: 
Re: txt2dat 0.2.3 released
Newsgroups: 
lugnet.cad, lugnet.cad.dev.mac
Date: 
Sun, 6 Dec 2009 23:18:59 GMT
Viewed: 
19107 times
  
In lugnet.cad, Ross Crawford wrote:
   Version 0.2.3 of txt2dat has been released, you can download it here.

   Mac version will be available when Jim gets a chance to build it 8?)

Voila! Mac universal binary now available at the above link for download!

ROSCO


Subject: 
Re: LPub 4 Callouts (and other questions)
Newsgroups: 
lugnet.cad, lugnet.cad.dev.mac
Date: 
Sat, 5 Dec 2009 20:54:56 GMT
Viewed: 
21495 times
  
In lugnet.cad, Jim DeVona wrote:
In lugnet.cad, Kevin L. Clague wrote:

Man, LPub sure has gotten complicated :^) Anyone want to help?

Well, I'm interested in helping to maintain current builds for the Macintosh.
We're still at 4.0.0.1. If you update the SourceForge page with the current
code, I will work on that - and then my interest might be rekindled enough to
delve deeper into other issues.

Jim

I'm on my way, thanks!

Kevin


Subject: 
Re: LPub 4 Callouts (and other questions)
Newsgroups: 
lugnet.cad, lugnet.cad.dev.mac
Date: 
Thu, 3 Dec 2009 21:22:17 GMT
Viewed: 
21067 times
  
In lugnet.cad, Kevin L. Clague wrote:

Man, LPub sure has gotten complicated :^) Anyone want to help?

Well, I'm interested in helping to maintain current builds for the Macintosh.
We're still at 4.0.0.1. If you update the SourceForge page with the current
code, I will work on that - and then my interest might be rekindled enough to
delve deeper into other issues.

Jim



Next Page:  5 more | 10 more | 20 more

Redisplay Messages:  Brief | Compact

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