|GameDev.Net Discussion Forums Frequently Asked Questions (for individual forums)||Back to the Forums|
Current Server Time -
|FAQ - Graphics Programming and Theory|
|Welcome to the graphics programming and theory forum !
The purpose of this forum is to discuss advanced graphics related algorithms, effects, implementation issues, or just purely theoretical ideas.
The idea is to keep discussions independent of a specific API. Graphics programming is a very wide field, so almost everything graphics related is welcome: realtime 2D or 3D, raytracing, radiosity, special effects, etc.
Please try and be aware of whether the question you're asking is really a graphics question; questions on things like spatial subdivision structures (octrees and the like) are frequently pertaining to non-graphics areas like collision detection; such questions would probably be better off in the Game Programming or Math and Physics forums, though if you're asking about them in a graphics context, that's fine.
Content creation questions - that is, questions about the process of actually creating/obtaining the models/images that you then display - are generally better suited to the Visual Arts forum. Questions about working with particular graphics file formats are generally OK, though you should search the forum first (because it tends to be the same questions, and they'll just get the same answers).
If you have a general question specific to a certain API, then please post it to a dedicated forum (OpenGL forum or DirectX forum). However, questions about implementing an algorithm or effect using a specific API are perfectly welcome here.
NOT OK: "How do I setup an FVF or vertex array ?"
OK: "I developed this EMBM water effect, but I need some help implementing it in OpenGL or D3D"
To keep the forum enjoyable and professional, please respect the following guidelines:
Should you have any questions, criticism or suggestions, just drop me a mail.
Graphics programming resource section
Convert a 24bit RGB image to paletted 8bit: Octree colour quantization, Neural net image quantization (NeuQuant).
Image processing, filters, computer vision.
Special Effects Algorithm Design: theory of various smoothing, warping, noise and natural effect filters.
Colour space conversions (RGB, HSL, HSV, YUV, ...)
Colour theory, conversions, colour temperature.
Fractals, FFT, Wavelets.
General geometric algorithms and implementations (distances, normals, intersections, orientation).
Performing a boolean operation on two polygons: GPC boolean library (by Alan Murta).
Tesselating a polygon into triangles: Seidel tesselator.
Graphics Papers database: searchable database of many, many technique papers. Run by the author of the 'WWH' articles, Paul Nettle.
Gabriel on Graphics: an online computer graphics course run by the computer graphics lecturer at Universidad Católica.
Thread on Scene Graphs, containing many links to useful resources.
Stencil volume shadows
Robust shadow volumes: NVidia paper.
Hardware assisted shadow volume extrusion: extruding the shadow volume in a vertex shader, directly on the GPU.
OpenGL shadow mapping: NVidia presentation.
Direct3D shadow mapping: ATI paper.
Second Depth Shadow Mapping: Avoid the typical aliasing artifacts introduced by depth offsets (by Wang & Molnar).
Perspective Shadow Maps: Increase shadow precision by applying a view dependent projection on the shadow map (by Stamminger & Drettakis).
Publications by Stefan Brabec: Papers about various advanced shadow mapping techniques.
Adaptive Shadow Maps: Very high quality non-realtime shadow mapping algorithm.
Deep shadow maps: Shadow mapping for fur, hair, and other volumetric effects.
Implementing Bump Mapping using Register Combiners: Different implementations of diffuse and specular bumpmapping on NVidia hardware.
Reflective Bumpmapping: Perpixel EMBM, implemented on a GeForce3 and above.
Bi-directional reflectance distribution functions (BRDF)
Radiosity in English: Introduction into radiosity methods, with focus on the mathematical side (GDNet article by Paul Nettle).
Radiosity in English, part 2.
Fast Texture Based Form Factor Calculations, and other radiosity algorithms using 3D hardware (by Nielsen & Christensen).
Fluid Studios Radiosity: Full open source progressive refinement radiosity system, includes an adaptive lightmapper.
High dynamic range lighting (HDRI)
Rendering with natural light, implemented in realtime on the Radeon 9700.
Recovering High Dynamic Range Radiance Maps from Photographs: Photographic HDRI map aquisition and processing.
NVidia developer relations
Physical simulation and modeling: internet resources about physically based effects.
Official OpenGL extension registry.
Improving Noise: Paper presenting the new Perlin noise reference implementation (by Ken Perlin).
Perlin noise reference implementation (source code).
Making noise: The history of Perlin noise.
Methods for Realistic Landscape Imaging: Fractal landscape generation and rendering (by F. Kenton Musgrave).
Terrain LOD techniques: ROAM, CLOD, quadtrees.
Chunked LODs: Hardware friendly terrain LOD technique, a mixture of ROAM and geo-mipmapping (by Thatcher Ulrich).
Interactive Vegetation Rendering with Slicing and Blending: Volumetric LOD system for 3D tree and vegetation rendering (by Aleks Jakulin).
Animating Prairies in Real-Time: Realtime grass rendering, taking into account wind effects (by Perbet & Cani).
Sky, atmosphere and Light scattering
A Fast Display Method of Sky Color Using Basis Functions: a different analytic skylight approach (by Nishita, Dobashi, Kaneda).
Modeling and Rendering of Various Natural Phenomena Consisting of Particles (by Nishita & Dobashi).
Interactive Rendering of Atmospheric Scattering Effects Using Graphics Hardware (by Dobashi, Nishita).
Rendering Outdoor Light Scattering in Real Time, using simplified equations on a Radeon 9700 (by Hoffman, Preetham).
Rendering Outdoor Light Scattering in Real Time (GDC 2002 presentation).
Efficient Rendering of Lightning Taking into Account Scattering Effects due to Clouds and Atmospheric Particles (by Dobashi, et al).
Sky rendering resources at vterrain.org
A Method for Modeling Clouds based on Atmospheric Fluid Dynamics (by Nishita, Dobashi, Yashida).
A Simple, Efficient Method for Realistic Animation of Clouds: Dynamic simulation of clouds and sun rays (by Dobashi, Kaneda, et al).
Sky rendering techniques: Discussion about realtime cloud and sky rendering at GameDev.net
Cloud rendering resources at vterrain.org
Deep Water Animation and Rendering: Realistic realtime rendering of deep water surfaces (by Jensen & Golias).
Practical Animation of Liquids: 3D simulation of liquids using meta particles (by Foster & Fedkiw).
Animation and Rendering of Complex Water Surfaces: Photorealistic rendering of 3D water (by Enright, Marschner, Fedkiw).
Efficient Rendering of Optical Effects within Water using Graphics Hardware: Underwater light shafts and caustics (by Iwasaki, Nishita, Dobashi).
Complex Water Effects at Interactive Frame Rates: Realtime rendering of advanced water effects (by Loviscach).
Simple Navier Stokes solver: Implementation of a simple and fast NSE solver.
Flow fire: Advanced 2D fire using image warping (by Hugo Elias).
Physically Based Modeling and Animation of Fire: Highly realistic 3D fire simulation based on fluid dynamics (Jensen & Fedkiw).
Visual Simulation of Smoke: Very realistic smoke, based on the incompressible Euler equations (by Fedkiw, Stam, Jensen).
Simple Navier Stokes solver: This NSE solver can also be used for 3D smoke, dust or gas.
NVidia Register Combiner reference papers: GF2 and below, GF3 and above.
NVidia OpenGL NV30 reference.
ATI developer resources: technical papers.
ATI developer resources: Radeon 9700 Shaders.
OpenGL shader specifications: ARB_vertex_program (vertex shaders), ARB_fragment_program (pixel shaders).
DirectX 9 reference at microsoft.com
Cg: A high level shader language.
CgShaders.org, resource site for Cg shader programming.
All times are ET (US)
Moderators/Admin: Edit FAQ