All Projects → pknowles → Oit

pknowles / Oit

An order-independent transparency demo framework, including optimizations and benchmark support.

Labels

Projects that are alternatives of or similar to Oit

Jitter Glsl Shaders
Custom GLSL Shaders for Max/MSP/Jitter
Stars: ✭ 19 (-32.14%)
Mutual labels:  glsl
2d Flat Shape Shader
Lets make a simple 2D shader
Stars: ✭ 10 (-64.29%)
Mutual labels:  glsl
Material Maker
A procedural textures authoring and 3D model painting tool based on the Godot game engine
Stars: ✭ 880 (+3042.86%)
Mutual labels:  glsl
Wagner
Effects composer for three.js
Stars: ✭ 930 (+3221.43%)
Mutual labels:  glsl
The Pursuit Demo
3D racing with physics powered by Marmalade SDK and Bullet Physics
Stars: ✭ 8 (-71.43%)
Mutual labels:  glsl
Month Of Shaders
One GLSL shader for every day of the month August
Stars: ✭ 12 (-57.14%)
Mutual labels:  glsl
Maples Retro Extravaganza
minecraft shader pack to emulate retro console graphics
Stars: ✭ 17 (-39.29%)
Mutual labels:  glsl
Shaderlibs
topameng's shader libs
Stars: ✭ 27 (-3.57%)
Mutual labels:  glsl
Shaderdemos
some shaders for cocos creator
Stars: ✭ 856 (+2957.14%)
Mutual labels:  glsl
Gl Transitions
The open collection of GL Transitions
Stars: ✭ 877 (+3032.14%)
Mutual labels:  glsl
Unity Xyz
C# lightweight tile viewer
Stars: ✭ 25 (-10.71%)
Mutual labels:  glsl
Unityshaders
Unity Shader Codes
Stars: ✭ 8 (-71.43%)
Mutual labels:  glsl
Veda Infiniterave
Stars: ✭ 13 (-53.57%)
Mutual labels:  glsl
Fieldplay
A vector field explorer
Stars: ✭ 922 (+3192.86%)
Mutual labels:  glsl
Laidlawfx
A repository of tools developed in production.
Stars: ✭ 21 (-25%)
Mutual labels:  glsl
Nau
Nau - OpenGL + Optix 3D Engine
Stars: ✭ 18 (-35.71%)
Mutual labels:  glsl
Slang
A small, flexible and extensible front-end for GLSL.
Stars: ✭ 10 (-64.29%)
Mutual labels:  glsl
Lgtm Shaders
Stars: ✭ 27 (-3.57%)
Mutual labels:  glsl
Pixi.js
The HTML5 Creation Engine: Create beautiful digital content with the fastest, most flexible 2D WebGL renderer.
Stars: ✭ 34,982 (+124835.71%)
Mutual labels:  glsl
Tess Opt
Demonstration of how we can use tessellation shaders to make faster fragment shaders.
Stars: ✭ 13 (-53.57%)
Mutual labels:  glsl

Order-Independent Transparency (OIT)

An order-independent transparency demo framework, including optimizations and benchmark support. With published strategies for fast sorting, this demo shows performance improvements over the basic per-pixel linked lists method of up to a factor of 5 or more.

NOTE: I haven't had time to prettify everything (I won't argue with people calling the code a mess). There are makefiles for gcc/Fedora 20 and solution/project files tested with vs2013/Windows 7.

A little description of OIT and this code is here: http://www.heuristic42.com/5/opengl/oit/

This code, and the LFB depndency, is the source code for Efficient Layered Fragment Buffer Techniques (well, updated source), Backwards Memory Allocation and Improved OIT and Fast Sorting for Exact OIT of Complex Scenes found here.

This project requires the following two to be in the same directory. I.e. /path/oit/, /path/lfb/ and /path/pyarlib.

Methods in the layered fragment buffer (LFB) repository are also called Per-Pixel Linked Lists (PPLLs), the A-Buffer (at a stretch IMO), the Dynamic Fragment Buffer (DFB). The S "sparsity", L "multi-layered framebuffer condensation", D "deque" buffers are also quite closely related. See http://en.wikipedia.org/wiki/Order-independent_transparency.

Models/meshes are not in the repository. Most can be found here: http://goanna.cs.rmit.edu.au/~pknowles/models.html. The scenes are stored in xml files, and model search paths are specified in config.cfg. Currently obj, ctm and 3ds are the main supported model formats.

Controls

  • ` - toggle HUD
  • space - toggle camera lock to origin
  • w/a/s/d - fly
  • mouse drag - left/middle/right to rotate/pan/zoom
  • 1-6 - load scene
  • b - execute benchmark (must provide test xml file as argument)
  • h - find maximum depth complexity
  • z - rotate 360 degrees, recording times
  • q - enable scene edit mode (very simple maya-like e/r/t move/rotate/scale)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].