|
- /*
- * LolFx Test Material
- */
-
- // Can have lots of different techniques in a single lolfx file,
- // especially if they share common shader code.
- technique Foo
- {
- // Multiple passes, with alpha on/off, with various blending methods,
- // with depth test disabled...
- pass p0
- {
- texture[0] = null;
- texture[1] = null;
- texture[2] = null;
-
- cullmode = none; // ccw
- lighting = false;
- zenable = true; // false
- alphablendenable = true; // false
- srcblend = src_alpha; // one
- destblend = inv_src_alpha;
-
- colorop[0] = select_arg1;
- colorarg1[0] = diffuse;
-
- alphaop[0] = select_arg1;
- alphaarg1[0] = diffuse;
-
- colorop[1] = disable;
-
- alphaop[1] = disable;
-
- // Ye old way
- vertexshader = blah;
- geometryshader = blah;
- pixelshader = blah;
-
- // Ogre crap
-
- // The D3D11 way, but we must make it work with GLSL too
- //SetBlendState(AdditiveBlending, float4(0.0f, 0.0f, 0.0f, 0.0f), 0xFFFFFFFF);
- //SetDepthStencilState(DisableDepth, 0);
- //SetRasterizerState()
-
- //SetVertexShader
- //SetDomainShader
- //SetHullShader
- //SetGeometryShader
- //SetPixelShader
- //SetComputeShader /* WTF? */
-
- //SetRenderTargets(RTV0, DSV);
- //SetRenderTargets(RTV0, RTV1, DSV);
- //...
- //SetRenderTargets(RTV0, RTV1, RTV2, RTV3, RTV4, RTV5, RTV6, RTV7, DSV);
- }
-
- pass p1
- {
- // Autres vertex/pixel shaders avec éventuellement des
- // dépendances sur le résultat des passes précédentes
- vertexshader = something_else;
- }
- }
-
- /* Defines GLSL shader "Prout" */
-
- #region GLSL.Prout
-
- #version 120
-
- /* Valid with my GLSL compiler */
- #pragma lolfx semantic(in_Vertex, POSITION)
- #pragma lolfx semantic(in_Normal, NORMAL)
- #pragma lolfx semantic(in_Color, COLOR)
- attribute vec3 in_Vertex;
- attribute vec3 in_Normal;
- attribute vec4 in_Color;
-
- void main(void)
- {
- /* ... */
- }
-
- /* Defines GLSL shader "Zob" */
-
- #region GLSL.Zob
-
- void main(void)
- {
- shit(); fuck(); fuck(); shit();
- }
-
- /* Defines HLSL shader "Prout" */
-
- #region HLSL.Prout
-
- void main(void)
- {
- /* Blah */
- }
|