Changeset 518

Show
Ignore:
Timestamp:
04/14/08 11:34:15 (9 months ago)
Author:
LeoD
Message:

rendering the terrain on a texture (for the minimap)

Files:

Legend:

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

    r513 r518  
    88void main(void) 
    99{ 
    10     vec4 worldPos = gl_ModelViewMatrix * gl_Vertex; 
    11     gl_Position = gl_ProjectionMatrix * worldPos; 
    12     //gl_Position = ftransform(); 
     10    gl_Position = ftransform(); 
    1311     
    1412    gl_TexCoord[0] = gl_MultiTexCoord0; 
  • trunk/src/defend/MiniMap.d

    r516 r518  
    2828    void renderTerrain() 
    2929    { 
    30         /*assert(terrain !is null); 
     30        assert(terrain !is null); 
    3131        assert(texture !is null); 
    3232 
    33         //renderer.pushMatrix(MatrixType.Projection); 
    34         renderer.setViewport(Rect(0, 0, width, height)); 
    35         //renderer.orthogonal(); 
     33        renderer.pushMatrix(MatrixType.Projection); 
     34        renderer.setViewport(Rect(0, 0, width - 1, height - 1)); 
     35 
     36        GLint[4] viewport; 
     37        glGetIntegerv(GL_VIEWPORT, viewport.ptr); 
    3638         
    37         //renderer.identity(MatrixType.Modelview); 
     39        glMatrixMode(GL_PROJECTION); 
     40        glLoadIdentity(); 
    3841         
    39         //auto center = vec2( (terrain.heightmap.size.x - 1) / 2.0f,  
    40         //                 -(terrain.heightmap.size.y - 1) / 2.0f); 
     42        glOrtho(viewport[2], 0, viewport[3], 0, 0, 1337); 
    4143         
    42         //gluLookAt(center.x, 1000.0f, center.y, center.x, 0.0f, 
    43         //        center.y, 0.0f, 1.0f, 0.0f); 
     44        renderer.identity(MatrixType.Modelview); 
     45         
     46        auto center = vec2( (terrain.heightmap.size.x - 1), 
     47                           -(terrain.heightmap.size.y - 1)); 
     48         
     49        gluLookAt(center.x, 500.0f, center.y, center.x, 0.0f, 
     50                  center.y, 0.0f, 0.0f, 1.0f); 
    4451 
    4552        renderer.setClearColor(vec3(0, 0, 255)); 
    4653        renderer.clear(); 
    47         //terrain.renderOrthogonal(); 
     54        terrain.renderOrthogonal(); 
    4855 
    4956        texture.copyFromScreen(); 
    50         //renderer.clear(); 
     57        renderer.clear(); 
    5158 
    52         //renderer.popMatrix(MatrixType.Projection); 
    53         renderer.setViewport(Rect(0, 0, renderer.width, renderer.height));*/ 
    54          
    55         renderer.setViewport(Rect(0, 0, width, height)); 
    56         renderer.setClearColor(vec3(0, 255, 0)); 
    57         renderer.clear(); 
    58          
     59        renderer.popMatrix(MatrixType.Projection); 
    5960        renderer.setViewport(Rect(0, 0, renderer.width, renderer.height)); 
    60         texture.copyFromScreen(); 
    6161    } 
    6262     
    63     bool terrainRendered = false; 
    64  
    6563public: 
    6664    mixin MAllocator; 
     
    6967    { 
    7068        texture = renderer.createTexture(vec2i(width, height)); 
     69        renderTerrain(); 
    7170 
    72         sprite = new Sprite(texture); 
     71        sprite = new Sprite(texture, Rect(0, 0, width - 1, height - 1), true); 
    7372    } 
    7473 
     
    8483        assert(sprite !is null); 
    8584 
    86         if(!terrainRendered) 
    87         { 
    88             //renderTerrain(); 
    89             terrainRendered = terrainRendered; 
    90         } 
    91  
    9285        sprite.render(pos); 
    9386    } 
  • trunk/src/defend/terrain/Terrain.d

    r513 r518  
    171171                 
    172172                vec3 normal = getNormalForImage(x, z, size); 
    173                 vec3 col = vec3(.15, 0.20, .35) * normal.y; // ambient 
     173                vec3 col = vec3(.15, 0.2, .35) * normal.y; // ambient 
    174174                 
    175175                if(!rayIntersection(ray)) 
  • trunk/src/gen/rend/opengl/Renderer.d

    r514 r518  
    381381        glMatrixMode(GL_PROJECTION); 
    382382        glLoadIdentity(); 
    383         //glViewport(0, 0, config.dimension.width, config.dimension.height); 
    384         glOrtho(0, viewport[2], viewport[3], 0, 0, 128); 
     383        glOrtho(0, viewport[2], viewport[3], 0, 0, 1337); 
    385384    } 
    386385     
  • trunk/src/gen/rend/opengl/Texture.d

    r507 r518  
    2626         
    2727        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 
    28         //glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);  
    29         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);  
     28        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);    
    3029    } 
    3130     
     
    5453                          GL_UNSIGNED_BYTE, image.data.ptr); 
    5554         
     55        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);  
     56         
    5657        dim = image.dimension; 
    5758        image.free(); 
     
    6566         
    6667        create(); 
    67  
     68         
    6869        glTexImage2D(GL_TEXTURE_2D, 0, 3, dim.x, dim.y, 0, GL_RGB, GL_UNSIGNED_BYTE, null); 
    6970    } 
  • trunk/src/gen/scene/Graph.d

    r516 r518  
    341341                }); 
    342342            } 
     343             
     344            //renderer.setTexture(0, null); 
     345            //renderer.setTexture(1, null); 
     346            //renderer.setTexture(2, null); 
    343347        } 
    344348    }