The DejaVU Framework -- hush 3.1

include: graphic-directx-game-17-Camera-Demo-Terrain.h /home/ae/www/media


- [up] [top] - index make include source logic grammar scripts html configure mx slides talks scenes reports projects
<body bgcolor="#FFFFFF" text="#000000">

//=============================================================================
// Terrain.h by Frank Luna (C) 2004 All Rights Reserved.
//
// Assumptions: In this book, we only use one terrain per demo and we 
//              construct the terrain geometry directly in world space.
//=============================================================================

ifndef TERRAIN_H
define TERRAIN_H

include <Heightmap.h>
include <d3dUtil.h>
include <Vertex.h>

 
<h4 align=right text=red> Terrain</h4><hr>
  class Terrain
{
public:
        Terrain(UINT vertRows, UINT vertCols, float dx, float dz, 
                std::string heightmap, std::string tex0, std::string tex1, 
                std::string tex2, std::string blendMap, float heightScale, 
                float yOffset);
        ~Terrain();

        DWORD getNumTriangles();
        DWORD getNumVertices();

        float getWidth();
        float getDepth();

        void onLostDevice();
        void onResetDevice();

        // (x, z) relative to terrain's local space.
        float getHeight(float x, float z);

        void setDirToSunW(const D3DXVECTOR3& d);

        void draw();

private:
        void buildGeometry();
        void buildSubGridMesh(RECT& R, VertexPNT* gridVerts); 
        void buildEffect();

private:
        Heightmap mHeightmap;

        std::vector mSubGridMeshes;
        std::vector mSubGridBndBoxes;

        DWORD mVertRows;
        DWORD mVertCols;

        float mWidth;
        float mDepth;

        float mDX;
        float mDZ;

        IDirect3DTexture9* mTex0;
        IDirect3DTexture9* mTex1;
        IDirect3DTexture9* mTex2;
        IDirect3DTexture9* mBlendMap;
        ID3DXEffect*       mFX;
        D3DXHANDLE         mhTech;
        D3DXHANDLE         mhViewProj;
        D3DXHANDLE         mhDirToSunW;
        D3DXHANDLE         mhTex0;
        D3DXHANDLE         mhTex1;
        D3DXHANDLE         mhTex2;
        D3DXHANDLE         mhBlendMap;
};
<hr>


endif // TERRAIN_H
<hr> <style type="text/css"> div.mainnavigate { margin: 20px 2px; /* background-color: #ffffff; */ border: 1px solid black; } </style> <div class=xnavigate> [] <black>readme</black> course(s) preface <black>I</black> 1 2 <black>II</black> 3 4 <black>III</black> 5 6 7 <black>IV</black> 8 9 10 <black>V</black> 11 12 afterthought(s) <black>appendix</black> reference(s) example(s) <black>resource(s)</black> _ </div> <hr>

(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author. </div> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-2780434-1"; urchinTracker(); </script> </body> </html> <hr> <hr> <table cellpadding=10> <tr> <td> <address> Hush Online Technology </address> hush@cs.vu.nl <br>04/07/09 </td><td> </td> <td></td><td></td><td></td><td></td><td></td><td></td><td></td> <td> </td> </tr> </table>