- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# src/Video/Render.hpp

Go to the documentation of this file.

    00001 #ifndef VIDEO_RENDER_HPP
    00002 #define VIDEO_RENDER_HPP
    00003
    00004 // Détection du système cible...
    00005 #include "usgeDetectSystem.h"
    00006
    00007 // C++
    00008 #include <string>
    00009
    00010 // Les types "USpeed Game Engine"
    00011 #include "Core/CoreTypes.hpp"
    00012 #include "Video/Video.hpp"
    00013 #include "Material/Material.hpp"
    00014 #include "Material/Texture.hpp"
    00015 #include "Object3D/Object3D.hpp"
    00016
    00017
    00018 namespace USpeedGameEngine
    00019 {
    00020
    00021 class Video::Render
    00022 {
    00023     /****************
    00024     * Les attributs *
    00025     ****************/
    00026     public :
    00027     protected :
    00028     private :
    00029
    00030     /***************
    00031     * Les méthodes *
    00032     ***************/
    00033     public :
    00034
    00036         virtual ~Render() { };
    00038         virtual bool init() = 0;
    00040         virtual void clean() = 0;
    00042         virtual void prepareDraw() = 0;
    00044         virtual void finishDraw() = 0;
    00046         virtual void changeViewport(int width, int height) = 0;
    00048         virtual void changePerspective(float pFov, float pAspect, float dNear, float dFar) = 0;
    00049
    00051         // Instruction de traçage //
    00054         virtual void start() = 0;
    00056         virtual void start(bool noCamera) = 0;
    00058         virtual void translate(USGE_Float3 const &vector) = 0;
    00060         virtual void rotate(USGE_Float3 const &angles) = 0;
    00062         virtual void scale(USGE_Float3 const &ratios) = 0;
    00064         virtual void setShadeModel(bool vertexShader) = 0;
    00066         virtual void setMaterial(Material *material) = 0;
    00068         virtual void render(USGE_Vertex *vertices, unsigned int count) = 0;
    00070         virtual void finish() = 0;
    00072         virtual void renderFull(USGE_Vertex *vertices, unsigned int count, Material *material, Object3DParentAttach *anchor, USGE_Float3 const &vector, USGE_Float3 const &angles, USGE_Float3 const &ratios, bool vertexShader, bool noCamera) = 0;
    00073
    00075         // Accesseurs //
    00078         virtual float getFov() = 0;
    00080         virtual float getAspectRatio() = 0;
    00081
    00082     protected :
    00083         // Constructeur par défaut
    00084         Render();
    00085     private :
    00086
    00087 };
    00088
    00089 }        // Fin "namespace USpeedGameEngine"
    00090
    00091 #endif