Giter Club home page Giter Club logo

Comments (9)

kintel avatar kintel commented on July 18, 2024

Actually, that is a cool idea. Now that rendering is done in a separate thread, it's more or less just a matter of signaling the main thread whenever a CGAL polyhedron has finished processing and triggering a rendering of the partial tree. It's some work of course, but would be worth looking into.

from openscad.

donbright avatar donbright commented on July 18, 2024

if you go into OffscreenGLX.cc, uncomment the 'mapwindow' line, and turn off the GLX DOUBLE BUFFER line, you will get some very slow OpenGL on-screen rendering in the test programs. You can watch the triangles as they draw, one by one. It is not the same as rendering partial trees, but it can be interesting.

i have no idea how this could be done in QT, it does something weird with its windows. . . just turning off double buffering is not enough.

from openscad.

brad avatar brad commented on July 18, 2024

Cool, thanks Don! I'm excited to try that out.
Hey Marius, since you're currently in the spirit of adding options to the preferences, maybe you could add an option to enable/disable progressive rendering in the GUI. If it slows down rendering, it would be especially desirable to be able to turn it off.

from openscad.

kintel avatar kintel commented on July 18, 2024

As Don pointed out, this won't work in the GUI, so it won't be useful until someone plays around with this concept a bit
Also, to my understanding, this is only really interesting in terms of rendering partial CGAL jobs.

from openscad.

GilesBathgate avatar GilesBathgate commented on July 18, 2024

On 10 January 2012 19:18, Brad Pitcher
[email protected]
wrote:

I would love it if I could press F6 and the OpenSCAD render pane would graphically show each element of my model as they are rendered. It would be cool to see my model get built piece by piece, and seeing how long different parts of the design take to render would help discover inefficiencies in the design. Of course, if it would slow down the render much, I immediately rescind my request because rendering is already slow enough.

I think this should be possible actually, whilst visiting the tree of
AbstractPolyNode's the CGALEvaluator has a reference to the current
CGAL primitive. It applies operations one by one to the primitive as
dictated by the AbstractModule instances also in the tree.

I would think it could be a reasonably easy change after each
operation is complete to emit via some sort of event mechanism,
similar to the progress event, the results of the operations as they
are performed. The display would update accordingly.

It might take longer to render the whole scene with this mode switched
on, but it would be fun to watch at least ;)

Regards

Giles

from openscad.

brad avatar brad commented on July 18, 2024

On Tue, Jan 10, 2012 at 4:04 PM, donbright <
[email protected]

wrote:

if you go into OffscreenGLX.cc, uncomment the 'mapwindow' line, and turn
off the GLX DOUBLE BUFFER line, you will get some very slow OpenGL
on-screen rendering in the test programs. You can watch the triangles as
they draw, one by one. It is not the same as rendering partial trees, but
it can be interesting.

Don, I tried this, but the popup windows are blank (Black). This is on an
Ubuntu 11.10 32-bit VM. Any ideas what I'm doing wrong?

from openscad.

donbright avatar donbright commented on July 18, 2024

sorry Brad, left out a few things.

also comment out these lines, as shown:

/*ctx->fbo = fbo_new();
if (!fbo_init(ctx->fbo, w, h)) {
cerr << "GL Framebuffer Object init failed; dumping GLEW info" << endl;
return NULL;
}
*/

// glXSwapBuffers(ctx->xdisplay, ctx->xwindow);

and run with the software rasterizer:

LIBGL_ALWAYS_SOFTWARE=1 ctest

from openscad.

brad avatar brad commented on July 18, 2024

That is sooo cool. Something like that in the OpenSCAD main window would be awesome.

from openscad.

RileyStarlight avatar RileyStarlight commented on July 18, 2024

+1

from openscad.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.