git-svn-id: svn://db.shs.com.ru/libs@286 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2017-10-03 12:20:32 +00:00
parent b46b9329f3
commit 7ad19d72c5
40 changed files with 320 additions and 712 deletions

View File

@@ -23,6 +23,9 @@
#include "glshaders.h"
class GLRendererBase: public QObject
#if QT_VERSION >= 0x050600
, protected QOpenGLExtraFunctions
#endif
{
friend class QGLView;
Q_OBJECT
@@ -34,7 +37,7 @@ public:
protected:
struct RenderingParameters {
void prepare();
void setUniform(QGLShaderProgram * prog);
void setUniform(__GLShaderProgram__ * prog);
int pass;
int light_pass;
bool light;
@@ -49,7 +52,7 @@ protected:
QMatrix4x4 viewproj_matrix, viewproj_matrix_i;
QMatrix3x3 normal_matrix;
QMatrix4x4 cam_offset_matrix;
QGLShaderProgram * cur_shader;
__GLShaderProgram__ * cur_shader;
};
virtual void setupLight(const Light & l, int inpass_index, int gl_index);
@@ -65,7 +68,7 @@ protected:
inline void applyFilteringParameters();
void renderObjects(int pass, int light_pass, void * shaders = 0, bool textures = true, bool light = true, bool fog = true);
void renderSingleObject(GLObjectBase & o, RenderingParameters & rpl);
void renderShadow(Light * l, QGLShaderProgram * prog = 0, QMatrix4x4 mat = QMatrix4x4());
void renderShadow(Light * l, __GLShaderProgram__ * prog = 0, QMatrix4x4 mat = QMatrix4x4());
void renderSingleShadow(GLObjectBase & o, RenderingParameters & rpl);
RenderingParameters rp;