DarkRadiant shader system: Difference between revisions

From The DarkMod Wiki
Jump to navigationJump to search
mNo edit summary
mNo edit summary
Line 1: Line 1:
<div style="float:right">
[http://img263.imageshack.us/img263/9984/shadersystemzh6.jpg http://img263.imageshack.us/img263/9984/shadersystemzh6.th.jpg]
</div>
The DarkRadiant shader system module is initialised during DarkRadiant startup and parses the material files during this phase.
The DarkRadiant shader system module is initialised during DarkRadiant startup and parses the material files during this phase.


Line 4: Line 7:
* The [[DarkRadiant ShaderLibrary|ShaderLibrary]] which holds all the named [[ShaderDefinition|ShaderDefinitions]] and named Shader objects.
* The [[DarkRadiant ShaderLibrary|ShaderLibrary]] which holds all the named [[ShaderDefinition|ShaderDefinitions]] and named Shader objects.
* The [[DarkRadiant GLTextureManager|GLTextureManager]], responsible for "realising" the actual Texture objects (this includes image post-processing like gamma-adjustment and resampling).
* The [[DarkRadiant GLTextureManager|GLTextureManager]], responsible for "realising" the actual Texture objects (this includes image post-processing like gamma-adjustment and resampling).
* The actual [[DarkRadiant Shader|Shader]] objects.


<img align="right src="http://img263.imageshack.us/img263/9984/shadersystemzh6.th.jpg" />
The [[DarkRadiant Shader|Shader]] and [[DarkRadiant Texture|Texture]] objects are allocated on the heap using boost::shared_ptrs.


[[Category:DarkRadiant]]
[[Category:DarkRadiant]]
[[Category:Coding]]
[[Category:Coding]]

Revision as of 16:45, 7 February 2007

shadersystemzh6.th.jpg

The DarkRadiant shader system module is initialised during DarkRadiant startup and parses the material files during this phase.

It consists of several vital components:

  • The ShaderLibrary which holds all the named ShaderDefinitions and named Shader objects.
  • The GLTextureManager, responsible for "realising" the actual Texture objects (this includes image post-processing like gamma-adjustment and resampling).
  • The actual Shader objects.

The Shader and Texture objects are allocated on the heap using boost::shared_ptrs.