Changeset 540

Show
Ignore:
Timestamp:
05/17/08 11:10:34 (8 months ago)
Author:
LeoD
Message:

config options

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/run/data/shaders/model-pixel.glsl

    r539 r540  
    11uniform sampler2D diffuseTexture; 
     2 
     3#if defined(OBJECTS_LIGHTMAP) 
    24uniform sampler2D lightTexture; 
     5#endif 
    36 
    4 #ifdef SHADOWMAPPING 
     7#if defined(SHADOWMAPPING) 
    58#   include "shadowmap.glsl" 
    69 
     
    1619{ 
    1720    vec4 tex = texture2D(diffuseTexture, vec2(gl_TexCoord[0])); 
     21     
     22    gl_FragColor = vec4(tex.rgb * tex.a + color * (1 - tex.a), 1.0); 
     23 
     24#if defined(OBJECTS_LIGHTMAP) 
    1825    vec4 light = texture2D(lightTexture, vec2(gl_TexCoord[1])); 
     26    gl_FragColor *= (light * 2); 
     27#endif 
    1928     
    20     gl_FragColor = vec4(tex.rgb * tex.a + color * (1 - tex.a), 1.0) * (light * 2); 
    21      
    22 #ifdef SHADOWMAPPING 
     29#if defined(SHADOWMAPPING) 
    2330    gl_FragColor *= shadowMap(shadowTexture, lightSpacePos); 
    24 #else 
     31#elif defined(NORMAL_LIGHTING) 
    2532    gl_FragColor *= gl_Color; 
    2633#endif 
  • trunk/run/data/shaders/model-vertex.glsl

    r537 r540  
     1#if defined(OBJECTS_LIGHTMAP) 
    12uniform vec3 mapPos; 
    23uniform vec3 mapSize; 
     4#endif 
    35 
    4 #ifdef SHADOWMAPPING 
     6#if defined(SHADOWMAPPING) 
    57uniform mat4 lightTransform; 
    68uniform mat4 modelTransform; 
     
    1820     
    1921    gl_TexCoord[0] = gl_MultiTexCoord0; 
     22     
     23#if defined(OBJECTS_LIGHTMAP) 
    2024    gl_TexCoord[1] = vec4(mapPos.x / mapSize.x, -mapPos.z / mapSize.y, 0.0, 0.0); 
     25#endif 
    2126     
    22 #ifdef SHADOWMAPPING 
     27#if defined(SHADOWMAPPING) 
    2328    lightSpacePos = lightTransform * (modelTransform * gl_Vertex); 
    24 #else 
     29#elif defined(NORMAL_LIGHTING) 
    2530    vec3 position = vec3(gl_ModelViewMatrix * gl_Vertex); 
    2631    vec3 light = vec3(normalize(vec3(gl_LightSource[0].position) - position)); 
  • trunk/run/data/shaders/shadowmap.glsl

    r539 r540  
    1 #ifdef SHADOWMAPPING 
     1#if defined(SHADOWMAPPING) 
    22 
    33float shadowMapSingle(in sampler2D sampler, in vec2 shadowMapCoord, in float lightDistance) 
  • trunk/run/data/shaders/terrain-pixel.glsl

    r539 r540  
    55uniform sampler2D lightMap; 
    66 
    7 #ifdef SHADOWMAPPING 
     7#if defined(SHADOWMAPPING) 
    88#   include "shadowmap.glsl" 
    99 
     
    3131    gl_FragColor = (c1 + c2 + c3) * (l * 2); 
    3232     
    33 #ifdef SHADOWMAPPING 
     33#if defined(SHADOWMAPPING) 
    3434    gl_FragColor *= shadowMap(shadowTexture, lightSpacePos); 
    3535#endif 
  • trunk/run/data/shaders/terrain-vertex.glsl

    r535 r540  
    1 #ifdef SHADOWMAPPING 
     1#if defined(SHADOWMAPPING) 
    22uniform mat4 lightTransform; 
    33 
     
    1111    gl_TexCoord[1] = gl_MultiTexCoord1; 
    1212 
    13 #ifdef SHADOWMAPPING    
     13#if defined(SHADOWMAPPING) 
    1414    lightSpacePos = lightTransform * gl_Vertex; 
    1515#endif 
  • trunk/run/defend.cfg

    r539 r540  
    2626    // shadow mapping 
    2727    [shadowmapping] 
    28         enable = 1 
     28        enable = 0 
    2929         
    3030        size = 2048 
     
    3333    // normal lighting (ignored, if shadow mapping is enabled) 
    3434    lighting = 1 
     35     
     36    // light objects by the terrain lightmap 
     37    objects_lightmap = 1 
  • trunk/src/defend/Config.d

    r539 r540  
    5353              "int graphics.shadowmapping.size;" 
    5454              "int graphics.shadowmapping.samples;" 
    55               "int graphics.lighting;") 
     55              "int graphics.lighting;" 
     56              "int graphics.objects_lightmap;") 
    5657               
    5758              defendConfig; 
  • trunk/src/defend/Main.d

    r539 r540  
    248248        Shader.define("SHADOWMAPPING"); 
    249249        Shader.define("SHADOWMAPPING_SAMPLES", 
    250                       to!(char[])(defendConfig("graphics")("shadowmapping").integer("samples"))); 
     250                      to!(char[])(defendConfig.graphics.shadowmapping.samples)); 
     251    } 
     252     
     253    if(defendConfig.graphics.objects_lightmap) 
     254    { 
     255        Shader.define("OBJECTS_LIGHTMAP"); 
     256    } 
     257     
     258    if(defendConfig.graphics.lighting) 
     259    { 
     260        Shader.define("NORMAL_LIGHTING"); 
    251261    } 
    252262 
  • trunk/src/defend/game/Game.d

    r539 r540  
    202202 
    203203        // tmp 
     204        if(defendConfig.graphics.lighting) 
    204205        { 
    205206            renderer.identity(); 
     
    218219            sceneGraph.render(); 
    219220        }); 
     221         
    220222        renderer.setMatrix(mainCamera.modelview, MatrixType.Modelview); 
    221223        renderer.setMatrix(mainCamera.projection, MatrixType.Projection); 
  • trunk/src/defend/objects/SceneNode.d

    r539 r540  
    116116            renderer.setShader(shader); 
    117117            shader.setUniform("color", parent.color); 
    118             shader.setUniform("mapPos", absolutePosition); 
    119             shader.setUniform("mapSize", vec3(terrain.dimension.x, terrain.dimension.y, 0)); 
    120118            shader.setUniform("diffuseTexture", 0); 
    121             shader.setUniform("lightTexture", 1); 
    122119 
    123120            if(defendConfig.graphics.shadowmapping.enable) 
     
    132129            } 
    133130             
     131            if(defendConfig.graphics.objects_lightmap) 
     132            { 
     133                renderer.setTexture(1, terrain.lightmapTexture); 
     134                 
     135                shader.setUniform("mapSize", vec3(terrain.dimension.x, terrain.dimension.y, 0)); 
     136                shader.setUniform("mapPos", absolutePosition); 
     137                shader.setUniform("lightTexture", 1); 
     138            } 
     139             
    134140            renderer.setTexture(0, texture); 
    135             renderer.setTexture(1, terrain.lightmapTexture); 
    136141        } 
    137142        else 
  • trunk/src/gen/util/Config.d

    r539 r540  
    147147    } 
    148148 
    149     static char[] genAssign(char[] type, char[] id
     149    static char[] genAssign(char[] type, char[] id, char[][] parts
    150150    { 
    151151        char[] result = "\t" ~ id ~ " = this"; 
    152152         
    153153        { 
    154             char[][] parts = splitParts(id); 
    155              
    156154            for(uint i = 0; i < parts.length; i++) 
    157155            { 
     
    179177    } 
    180178 
    181     static char[] genStructs(char[][] types, char[][] ids, char[] level = "", uint depth = 0) 
     179    static char[] genStructs(char[][] types, char[][] ids, char[][][] idParts, char[] level = "", uint depth = 0) 
    182180    { 
    183181        char[] result = ""; 
     
    186184        foreach(i, id; ids) 
    187185        { 
    188             char[][] parts = splitParts(id)
     186            char[][] parts = idParts[i]
    189187         
    190188            if(id.length > level.length && id[0 .. level.length] == level) 
     
    213211                     
    214212                    result ~= "struct _" ~ parts[depth] ~ "\n{\n"; 
    215                     result ~= genStructs(types, ids, newLevel, depth + 1); 
     213                    result ~= genStructs(types, ids, idParts, newLevel, depth + 1); 
    216214                    result ~= "}\n_" ~ parts[depth] ~ " " ~ parts[depth] ~ ";\n"; 
    217215                } 
     
    232230            extractNames(types, ids); 
    233231             
    234             result ~= genStructs(types, ids); 
     232            char[][][] idParts = []; 
     233             
     234            foreach(id; ids) 
     235                idParts ~= splitParts(id); 
     236             
     237            result ~= genStructs(types, ids, idParts); 
    235238             
    236239            result ~= "this(char[] c)\n{\n\tsuper(c);\n"; 
    237240             
    238241            for(uint i = 0; i < types.length; i++) 
    239                 result ~= genAssign(types[i], ids[i]); 
     242                result ~= genAssign(types[i], ids[i], idParts[i]); 
    240243             
    241244            result ~= "}";