Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 3 of 3

Thread: OIT linked list implementation in Linux / OpenGL 1.2 / C

Hybrid View

  1. #1
    Junior Member Newbie
    Join Date
    May 2010
    Location
    CA, USA
    Posts
    3

    OIT linked list implementation in Linux / OpenGL 1.2 / C

    I'm trying to see how I could take Nicolas Thibieroz's per-pixel linked list implementation (for DirectX Aug 2009 or newer, OpenGL 1.5 compatible graphics card, DirectX 9+ compatible graphics card, WinXP/Vista/7, Visual C++ 2008+, contemporary graphics card drivers, 2G+ RAM) and adapt it to:

    C code, OpenGL 1.2 implemented via X11 (Linux) and Mesa (Windows); thus it's software-implemented OpenGL, thus maybe slower, but more universal in spite of lower end hardware, may omit some adv. features.

    Thibieroz's work: developer.amd.com/gpu_assets/OIT%20and%20Indirect%20Illumination%20using%20DX11 %20Linked%20Lists_forweb.ppsx

    I'm not worried about C++ --> C translation and linked lists, but is it possible to adapt the rest of Thibieroz's implementation to OpenGL 1.2 implemented via X11 and Mesa with success?

    If there's no answer, what questions should I be asking to reach the finish line on this?

    It looks like a lot of constructs are not available to me? So how do I substitute?

  2. #2
    Senior Member OpenGL Guru
    Join Date
    May 2009
    Posts
    4,948
    Nicolas Thibieroz's per-pixel linked list implementation (for DirectX Aug 2009 or newer, OpenGL 1.5 compatible graphics card, DirectX 9+ compatible graphics card, WinXP/Vista/7, Visual C++ 2008+, contemporary graphics card drivers, 2G+ RAM)
    The document you link to describes a technique that requires Direct3D 11-class hardware. Not DX9.

    OpenGL 1.2
    OpenGL 1.2? The OpenGL 1.2 that came out fourteen years ago and didn't even have shaders?

    No; you cannot implement it in OpenGL 1.2. It can only be implemented in GL 4.x-class hardware using specialized shader logic.

    Or did you think that OIT was something simple that could have been implemented on any old thing and a generation of graphics programmers just never realized it?

  3. #3
    Junior Member Newbie
    Join Date
    May 2010
    Location
    CA, USA
    Posts
    3
    Quote Originally Posted by Alfonse Reinheart View Post
    The document you link to describes a technique that requires Direct3D 11-class hardware. Not DX9.



    OpenGL 1.2? The OpenGL 1.2 that came out fourteen years ago and didn't even have shaders?

    No; you cannot implement it in OpenGL 1.2. It can only be implemented in GL 4.x-class hardware using specialized shader logic.

    Or did you think that OIT was something simple that could have been implemented on any old thing and a generation of graphics programmers just never realized it?
    Thanks for the reply. I knew it was a long shot, but had to ask in case.

    Alfonse, aside from upgrading my current development environment, what methods would you suggest (web links to further elucidate as well) under my current development environment? Pre-sorted primitives via BSP trees the only solution? That seems rife with problems if there's an arbitrary number of objects and when we rotate the object dynamically in a viewing environment. A colleague had some opaque artifacts pop in and out during dynamic view rotation, probably from depth collisions, despite coding to classify polygons at same depths and coincident angles.

    Thanks in advance.
    Last edited by staged; 08-26-2012 at 02:04 PM.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •