- Main Page
- Related Pages
- Classes
- Files

- File List

# src/GpuQuadraticCurveRender/OpenglGpuShader.h

Go to the documentation of this file.

    00001
    00002
    00003
    00004
    00005
    00006
    00007
    00008
    00009
    00010
    00011
    00012
    00013
    00014
    00015
    00016
    00017
    00018
    00019
    00020
    00025
    00026 #ifndef _OPENGL_GPU_SHADER_H_
    00027 #define _OPENGL_GPU_SHADER_H_
    00028
    00029 #include "GL\glew.h"
    00030 #include <string>
    00031
    00032 namespace GpuQuadraticCurveRender
    00033 {
    00034
    00035 enum GpuShaderStage
    00036 {
    00037         Vertex,
    00038         Pixel
    00039 };
    00040
    00042 class OpenglGpuShader
    00043 {
    00044 public:
    00048         OpenglGpuShader(const std::wstring& shaderFile, GpuShaderStage stage);
    00049
    00051         ~OpenglGpuShader(void);
    00052
    00055         GLint GetGlShaderId(void) const;
    00056
    00057 protected:
    00059         GLint m_glShader;
    00060
    00064         GLint LoadShaderFromFile(const std::wstring& shaderFile, GpuShaderStage stage);
    00065
    00069         void ReadSourceFile(const std::wstring& shaderFile, std::string& source);
    00070
    00072         OpenglGpuShader(const OpenglGpuShader& shader);
    00073
    00075         OpenglGpuShader& operator=(const OpenglGpuShader& shader);
    00076 };
    00077
    00078 }
    00079
    00080 #endif