Subject:
|
LDForge - dev. plans and call for help
|
Newsgroups:
|
lugnet.cad
|
Date:
|
Wed, 31 Mar 2010 19:30:38 GMT
|
Viewed:
|
21810 times
|
| |
| |
Hi folks,
over the latter half of the year 2009 Ive been planning and experimenting on
the thought of a good CAD program for part authors. Now Im unveiling my
thoughts to the public, but this is not an announcement. Its too early for
such.
History
Over the course of summer I was having the thought in my mind and in early fall
I began to experiment on things like Togl (OpenGL frontend to Tcl/Tk) and code
related to inlining, compiling and rendering.
In late fall I though found myself with a
problem too hard for me to overcome and I overturned the thoughts. The program
turned out to act far too slow. Recently, however, I went through the code,
fixed some bugs and optimized it a tad by for example making the in-rotation
part be rendered lines-only, like in MLCAD.
More importantly, I figured that its possible.. as I knew exactly what I was
facing. The slowness, as it seems, is caused by either the inlining or compiling
code by duplicating compiled code. I created a brick.dat file, which was a
3002.dat inlined down to lowest level, and logged the compiled data of both
files. brick.dat was 46KB, while 3002.dat was 2.8MB! Now Im looking into the
code and might as well fix the thing. :)
Thats why Im posting this here. This is not an announcement, just sharing of
my plans and code.
Specs
LDForge, currently, is nothing more than a simple, bugged, renderer. But Im
planning more:
Implemented features:
- Simple rendering with zoom, spin and offset
- BFC red/green view, albeit buggy
- Wireframe, edges-only and no-edges mode
- LDConfig.ldr support
- Transparency support (non-dithered due to OpenGL)
Planned features:
- The obvious: the basic things you need to author a part
- Functions for trimming lines
- Quick edgelining
- Polygon drawing (?)
- Complexity (=bowtie) detection and auto-fix (?)
- Multiple parts simultaneously open..? (Kind of against this because I fear it would cause LDForge to slow down)
- Integration of Philos tools (if hes okay with it :D)
- Functions from MLCAD such as select by colour and type
- Primitive gallery
- More as I come up with them...
Bugs!
- Subpart inlining and compiling cause lots of duplicates, slowing the renderer tremendously
- Polygon sorting is bugged. I need help here - see below for details.
- BFC view is bugged.
- Conditional lines are not handled at all.
- Offset and spinning do not work the way I want them to. More minor issue, though..
- Most code is in forge.tcl and need to be sorted into separate files. Trivial, though.
LDConfig.ldr
LDConfig.ldr will be supported. However, speckle and glitter will quite probably
not be supported unless Im supplied with the code to render them. Theyre not
needed. ;)
LDConfig.ldr will probably be flouted in the manner of using coloured edgelines
ala alternate LDConfig and MLCAD 3.2. Naturally, as this will more than probably
be argued against, Ill have this flouting in a configuration option.
Polygon sorting - help needed
I need a little bit help, however. The polygon sorting algorithm I have right
now does not work properly. Currently its done by calculating the center of the
polygon by simply calculating the means of the coordinates.
How do existing programs - LDView in particular as its an OpenGL one too - sort
polygons? Id appreciate help tremendously here..
(Future) downloads
I have created a SourceForge project
for LDForge. I will be keeping an SVN repository in case people have interest in
this project with whatever interests they have. At this point, while Im writing
this post, theres nothing to get. Ill flesh the project page out, just give me
time..
-Santeri
|
|
Message has 3 Replies: | | Re: LDForge - dev. plans and call for help
|
| (...) The only polygons that LDView sorts are transparent ones. Everything else is handled by the OpenGL depth buffer (glEnable(GL_DEPTH_TEST), followed by glDepthFunc(GL_LEQUAL)). Transparent polygons need to be sorted before being drawn, and (...) (15 years ago, 31-Mar-10, to lugnet.cad, FTX)
|
12 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|