2
* Copyright 2010 Inalogic Inc.
4
* This program is free software: you can redistribute it and/or modify it
5
* under the terms of the GNU Lesser General Public License version 3, as
6
* published by the Free Software Foundation.
8
* This program is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranties of
10
* MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
11
* PURPOSE. See the applicable version of the GNU Lesser General Public
12
* License for more details.
14
* You should have received a copy of both the GNU Lesser General Public
15
* License version 3 along with this program. If not, see
16
* <http://www.gnu.org/licenses/>
18
* Authored by: Jay Taoko <jay.taoko_AT_gmail_DOT_com>
23
#ifndef GLSH_DRAWFUNCTION_H
24
#define GLSH_DRAWFUNCTION_H
27
#include "GLShaderParameter.h"
28
#include "NuxCore/Math/Matrix4.h"
29
#include "GLDeviceObjects.h"
33
class TemplateQuadBuffer;
35
class GLSh_DrawFunction
42
void SetBackgroundColor(float R, float G, float B, float A);
43
void SetBackgroundColor(Color color);
44
void SetTextureFunction(TRefGL<IOpenGLTexture2D> device_texture);
45
void SetTransformMatrix(const Matrix4& TransformMatrix)
47
m_TransformMatrix = TransformMatrix;
49
void Render(int x, int y, int z, int width, int height, int WindowWidth, int WindowHeight);
50
void SetScreenPositionOffset(float x, float y);
54
TRefGL<IOpenGLShaderProgram> sprog;
55
TRefGL<IOpenGLAsmShaderProgram> m_AsmProg;
57
float _ScreenOffsetX, _ScreenOffsetY;
62
Matrix4 m_TransformMatrix;
63
TRefGL<IOpenGLTexture2D> m_device_texture;
66
TemplateQuadBuffer* m_QuadBuffer;
70
#endif // GLSH_DRAWFUNCTION_H