Changeset 547

Show
Ignore:
Timestamp:
05/20/08 07:52:47 (8 months ago)
Author:
LeoD
Message:

--

Files:

Legend:

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

    r544 r547  
    88    vec4 tex = texture2D(diffuseTexture, vec2(gl_TexCoord[0])); 
    99     
    10     gl_FragColor = vec4(color * 1 - (tex.a), 1); 
     10    gl_FragColor = vec4(color * 1 - tex.a, 1); 
    1111} 
  • trunk/run/data/shaders/modelglowpost-pixel.glsl

    r544 r547  
    66    vec4 a = texture2D(sampler1, vec2(gl_TexCoord[0])); 
    77     
    8     const float o = 0.014; 
    9     const float p = o * 2; 
     8    const float o = 0.013; 
    109     
    1110    vec2 bc = vec2(gl_TexCoord[0]); 
     
    1817    b += texture2D(sampler2, vec2(bc.x - o, bc.y - o)); 
    1918    b += texture2D(sampler2, vec2(bc.x + o, bc.y - o)); 
    20      
    21     /*b += texture2D(sampler2, vec2(bc.x - p, bc.y)); 
    22     b += texture2D(sampler2, vec2(bc.x + p, bc.y)); 
    23     b += texture2D(sampler2, vec2(bc.x, bc.y + p)); 
    24     b += texture2D(sampler2, vec2(bc.x + p, bc.y + p)); 
    25     b += texture2D(sampler2, vec2(bc.x - p, bc.y + p)); 
    26     b += texture2D(sampler2, vec2(bc.x - p, bc.y - p)); 
    27     b += texture2D(sampler2, vec2(bc.x + p, bc.y - p));*/ 
    2819    b /= 8; 
    2920     
  • trunk/src/defend/Graphics.d

    r546 r547  
    33import tango.io.Stdout; 
    44 
     5import gen.core.TaskManager; 
    56import gen.util.Sprite; 
    67import gen.util.Profiler; 
     
    910import gen.rend.Renderer; 
    1011import gen.rend.Shader; 
     12import gen.rend.opengl.Wrapper; 
    1113import gen.scene.Graph; 
    1214import gen.scene.MeshNode; 
     
    8486                                                  renderer.config.aspect, 1, 300); 
    8587        sceneGraph.addCamera("main", _mainCamera, vec3(0, 0, 0), mainBuffer); 
     88         
     89        // Set tasks 
     90        taskManager.addRepeatedTask(&particles.update, 20); 
    8691    } 
    8792     
    8893    void render() 
    8994    { 
     95        // tmp 
     96        if(defendConfig.graphics.lighting) 
     97        { 
     98            renderer.identity(); 
     99            renderer.setMatrix(mainCamera.modelview, MatrixType.Modelview); 
     100            renderer.setMatrix(mainCamera.projection, MatrixType.Projection); 
     101            vec4 lightPosition = vec4(10.0, 10.0, 0.0, 1); 
     102            glLightfv(GL_LIGHT0, GL_POSITION, lightPosition.ptr); 
     103        } 
     104     
    90105        profile!("graph.render") 
    91106        ({ 
     
    108123             
    109124            bufferSprite.render(vec2i(0, 0)); 
    110  
    111             renderer.setTexture(1, null); 
    112             renderer.setShader(null); 
    113             renderer.setTexture(0, null); 
    114125             
    115126            if(defendConfig.graphics.objects_glow) 
    116127            { 
    117  
     128                renderer.setTexture(1, null); 
     129                renderer.setShader(null); 
     130                renderer.setTexture(0, null); 
    118131            } 
    119132        } 
  • trunk/src/defend/Main.d

    r544 r547  
    1515import gen.input.SDL : SDLInputWriter; 
    1616import gen.math.Vector : vec2i, vec3; 
    17 import gen.rend.Window : Window; 
    1817import gen.rend.Renderer : RendererConfig, Shader, Renderer, renderer; 
    1918import gen.rend.opengl.Renderer : OGLRenderer; 
     
    2322import gen.util.FPS : FPSCounter; 
    2423import gen.util.Log : Log, Logger; 
    25 import gen.util.Profiler : profile; 
    26 import gen.util.Wrapper : getTickCount; 
    2724import gen.util.HardwareTimer : HardwareTimer; 
    2825import gen.util.Config : Config; 
     
    3229import defend.com.TerrainInfo : TerrainInfo; 
    3330import defend.game.Game : Game; 
     31import defend.demo.Demo : Demo; 
    3432import defend.game.Config : GameMode, GameConfig, gameConfig; 
    3533import defend.player.Info : PlayerInfo; 
    36 import defend.demo.Demo : demoFile, Demo; 
    3734import defend.objects.Import; 
    3835import defend.objects.Core; 
     
    217214        { 
    218215        case GameStateType.Demo: 
    219             //assert(false); 
    220          
    221216            logger.info("playing demo `{}'", demoFile); 
    222217         
     
    224219                throw new ArgumentException("demo file `" ~ demoFile ~ "' does not exist"); 
    225220             
    226             .demoFile = demoFile; 
    227             //Loop.setMainFunction!(demo); 
    228             gameState.change(new Demo); 
     221            gameState.change(new Demo(demoFile)); 
    229222             
    230223            break; 
     
    239232             
    240233            .gameConfig = gameConfig; 
    241             //Loop.setMainFunction!(game); 
    242234            gameState.change(new Game); 
    243235        } 
     
    251243                      to!(char[])(defendConfig.graphics.shadowmapping.samples)); 
    252244    } 
     245 
     246    if(defendConfig.graphics.lighting) 
     247    { 
     248        Shader.define("NORMAL_LIGHTING"); 
     249    }    
    253250     
    254251    if(defendConfig.graphics.objects_lightmap) 
     
    256253        Shader.define("OBJECTS_LIGHTMAP"); 
    257254    } 
    258      
    259     if(defendConfig.graphics.lighting
    260     { 
    261         Shader.define("NORMAL_LIGHTING"); 
     255 
     256    if(defendConfig.graphics.objects_glow
     257    { 
     258        Shader.define("OBJECTS_GLOW"); 
    262259    } 
    263260 
     
    294291    logger.info("starting main loop"); 
    295292 
    296     //Loop(); 
    297      
    298293    // Main loop 
    299294    { 
  • trunk/src/defend/demo/Demo.d

    r541 r547  
    1515 
    1616import defend.Map; 
     17import defend.Graphics; 
    1718import defend.MapGenerator; 
    1819import defend.Camera; 
     
    2526import defend.terrain.Heightmap; 
    2627 
    27 // Parameters 
    28 char[] demoFile; 
    29  
    3028class Demo : GameState 
    3129{ 
     30    char[] demoFile; 
     31 
    3232    DemoPlayer demoPlayer; 
    3333    Simulation simulation; 
    3434    GameObjectManager gameObjects; 
    3535    PlayerManager players; 
    36     MainCamera camera
     36    Graphics graphics
    3737 
    3838    TerrainInfo terrainInfo; 
     39 
     40    this(char[] demoFile) 
     41    { 
     42        this.demoFile = demoFile; 
     43    } 
    3944 
    4045    void onTerrainInformation(TerrainInfo info) 
     
    5156        renderer.begin(); 
    5257 
    53         sceneGraph.render(); 
     58        graphics.render(); 
    5459 
    5560        renderer.end(); 
     
    5964    void init() 
    6065    { 
     66        graphics = new Graphics; 
     67        graphics.init(); 
     68     
    6169        demoPlayer = new DemoPlayer(demoFile); 
    6270        demoPlayer.TerrainInformation.connect(&onTerrainInformation); 
     
    6674         
    6775        gameObjects = new GameObjectManager(demoPlayer, players, simulation); 
    68  
    69         camera = new MainCamera; 
    70         camera.projection = mat4.perspective(45.0, renderer.config.aspect, 1.0, 100.0); 
    71         sceneGraph.addCamera("main", camera, vec3.zero); 
    72  
    73         MeshNode.memoryPool.create(20); 
    7476 
    7577        demoPlayer.init(); 
     
    9092        delete map; 
    9193 
    92         sceneGraph.reset(); 
    93  
    94         MeshNode.memoryPool.release(); 
     94        graphics.release(); 
    9595    } 
    9696} 
  • trunk/src/defend/demo/Player.d

    r541 r547  
    2020private: 
    2121    FileConduit file; 
    22     float _speed = 20
     22    float _speed = 1
    2323 
    2424    ubyte[] dataBuffer; 
  • trunk/src/defend/game/Game.d

    r544 r547  
    99import gen.core.TaskManager; 
    1010import gen.input.Input; 
    11 import gen.image.Image; 
    12 import gen.math.BoundingBox; 
    13 import gen.math.Frustum; 
    14 import gen.math.Matrix; 
    15 import gen.math.Plane; 
    16 import gen.math.Random; 
    17 import gen.math.Rectangle; 
    18 import gen.math.Vector; 
    19 import gen.model.Model; 
    2011import gen.rend.Renderer; 
    21 import gen.rend.Shader; 
    22 import gen.rend.opengl.Wrapper; // tmp 
    23 import gen.util.Resource; 
    2412import gen.scene.Graph; 
    25 import gen.scene.MeshNode; 
    26 import gen.scene.Node; 
    27 import gen.scene.ParticleSystem; 
    28 import gen.scene.Skybox; 
    2913import gen.scene.StaticCamera; 
    3014import gen.sound.SoundSystem; 
     
    3216import gen.util.Memory; 
    3317import gen.util.Profiler; 
    34 import gen.util.Sprite; 
    35 import gen.util.Wrapper; 
    36 import gen.util.FPS; 
    3718import gen.util.GameState; 
    3819 
    39 import defend.Camera; 
    4020import defend.Map; 
     21import defend.Simulation; 
     22import defend.Config; 
    4123import defend.Graphics; 
    4224import defend.MapGenerator; 
    4325import defend.com.Gateway; 
    44 import defend.Config; 
    4526import defend.demo.Recorder; 
    4627import defend.game.Config; 
     
    4930import defend.game.net.Server; 
    5031import defend.objects.Core; 
    51 import defend.player.Info; 
    5232import defend.player.Manager; 
    53 import defend.Simulation; 
    5433import defend.terrain.Heightmap; 
    5534import defend.terrain.Terrain; 
    56 import gen.scene.ModelNode; 
    5735 
    5836class Game : GameState 
     
    189167    { 
    190168        renderer.begin(); 
    191  
    192         // tmp 
    193         if(defendConfig.graphics.lighting) 
    194         { 
    195             renderer.identity(); 
    196             renderer.setMatrix(graphics.mainCamera.modelview, MatrixType.Modelview); 
    197             renderer.setMatrix(graphics.mainCamera.projection, MatrixType.Projection); 
    198             vec4 lightPosition = vec4(10.0, 10.0, 0.0, 1); 
    199             glLightfv(GL_LIGHT0, GL_POSITION, lightPosition.ptr); 
    200         } 
    201169 
    202170        // First the 3D objects 
     
    322290        taskManager.addRepeatedTask(&hud.update, 30); 
    323291        taskManager.addRepeatedTask(&renderer.window.update, 60); 
    324         taskManager.addRepeatedTask(&particles.update, 20); 
    325292        taskManager.addPostFrameTask(&render); 
    326293    } 
  • trunk/src/defend/objects/types/Citizen.d

    r541 r547  
    310310                else 
    311311                { 
    312                     assert(isStandingNearby(building)); 
    313  
    314                     //debug(citizen) trace("doing build step"); 
    315                      
    316                     building.oneBuildStep(); 
    317                      
    318                     if(building.status == Building.Status.Finished) 
     312                    if(!isStandingNearby(building)) 
    319313                    { 
     314                        // TODO: uhm, where's logger gone? D: 
     315                        trace("trying to build while not staying nearby a building"); 
    320316                        status = Unit.Status.Idle; 
    321                         stopFollow(); 
     317                    } 
     318                    else 
     319                    { 
     320                        //debug(citizen) trace("doing build step"); 
     321                         
     322                        building.oneBuildStep(); 
     323                         
     324                        if(building.status == Building.Status.Finished) 
     325                        { 
     326                            status = Unit.Status.Idle; 
     327                            stopFollow(); 
     328                        } 
    322329                    } 
    323330                } 
  • trunk/src/gen/util/GameState.d

    r541 r547  
    6565             
    6666            gameState.init(); 
     67             
     68            logger.info("gamestate initialized"); 
    6769        } 
    6870