taskpyFormex - Tasks: task #12366, Change the rendering engine to use...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

task #12366: Change the rendering engine to use vertex buffers and shaders

Submitter:  Benedict Verhegghe <bverheg>
Submitted:  Sat 22 Dec 2012 07:11:30 PM UTC
   
 
Should Start On:  Mon 31 Dec 2012 11:00:00 PM UTC Should be Finished on:  Sun 30 Jun 2013 10:00:00 PM UTC
Category:  None Priority:  7 - High
Status:  Done Privacy:  Public
Assigned to:  bverheg Percent Complete:  20%
Open/Closed:  Closed Effort:  0.00

Mon 06 May 2013 07:54:29 AM UTC, comment #2: 

We have the basic parts of the new rendering engine working. This includes computing the matrices, use vertex buffer objects, basic shader programs, uploading of shader uniforms. The engine renders object color and vertex color modes. Element color and lighting still need to be done. Also a lot of the traditional rendering attributes of pyFormex need to be added. And any objects more complex than points, lines or triangles needs to be transformed to those.

Benedict Verhegghe <bverheg>
Group administrator
Sat 22 Dec 2012 08:52:57 PM UTC, comment #1: 

I created a new subdirectory 'opengl' for the development of the new rendering engine. I prefer this to using a branch, because most of the source will remain the same. I intend to create a command line option to switch to using the new model. When it is finished, we can then remove the old drawing functionality from the 'gui' directory. Having separate gui/opengl directories makes sense: opengl may be useful without gui (rendering in a buffer to create images, movies; or creating webgl output).

Benedict Verhegghe <bverheg>
Group administrator
Sat 22 Dec 2012 07:11:30 PM UTC, original submission:  

The current rendering engine in pyFormex uses only OpenGL v1 features. More precisely, we use display lists. While we have highly optimized this (critical functions are in the compiled C library), this technique has been deprecated by the OpenGL developers. And although compatibility layers may continue to be created in future, we are left with some inevitable shortcomings:
- new hardware (graphics cards) can not be used optimally,
- it is not compatible with OpenGL ES. This is used in embedded systems (e.g. Android, WebGL).

Therefore we aim to replace the current rendering engine with a new one, using vertex buffers and shaders. This is a major overhaul and it will therefore be done outside the main svn tree. It will become part of the main tree only after release 1.0 of pyFormex. Because we are convinced that this change is important for the future of pyFormex, this task will get high priority and we aim to finish it by mid 2013.  

Benedict Verhegghe <bverheg>
Group administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by bverheg (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-07-07 bverheg StatusIn Progress Done
        Open/ClosedOpen Closed
    2013-05-06 bverheg StatusNone In Progress
        Percent Complete0% 20%
        Assigned toNone bverheg

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code