UniShader
1.0.0a
Interface for GPGPU and working with shader programs
|
00001 #pragma once 00002 #ifndef UNISHADER_H 00003 #define UNISHADER_H 00004 00005 //Include whole API 00006 #include <UniShader/Config.h> 00007 #include <UniShader/Utility.h> 00008 #include <UniShader/ShaderObject.h> 00009 #include <UniShader/ShaderProgram.h> 00010 #include <UniShader/Buffer.h> 00011 #include <UniShader/Attribute.h> 00012 #include <UniShader/Uniform.h> 00013 #include <UniShader/Varying.h> 00014 #include <UniShader/TextureBuffer.h> 00015 #include <UniShader/PrimitiveType.h> 00016 00017 #include <string> 00018 00019 UNISHADER_BEGIN 00020 00022 00027 class UniShader_API UniShader{ 00028 public: 00029 UniShader(); 00030 ~UniShader(); 00031 00033 00036 void connectProgram(ShaderProgram::Ptr& program); 00037 00039 void disconnectProgram(); 00040 00042 00049 void render(PrimitiveType primitiveType, unsigned int primitiveCount, unsigned int offset = 0, bool wait = false); 00050 private: 00051 ShaderProgram::Ptr m_program; 00052 }; 00053 00054 UNISHADER_END 00055 00056 #endif