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

This commit is contained in:
2015-11-26 21:42:43 +00:00
parent 4cbcbb5174
commit 59eb135a60
14 changed files with 419 additions and 42861 deletions

View File

@@ -161,7 +161,9 @@ void GLRendererBase::renderObjects(int pass, int light_pass, void * shaders, boo
rpl.light = rpl.prev_light = light;
rpl.fog = rpl.prev_fog = fog;
rpl.view_matrix = rp.view_matrix;
rpl.prev_view_matrix = rp.prev_view_matrix;
rpl.proj_matrix = rp.proj_matrix;
rpl.prev_proj_matrix = rp.prev_proj_matrix;
//qDebug() << "view:" << rp.view_matrix;
for (int i = 0; i < 32; ++i) rpl.prev_tex[i] = 0;
setupTextures(view.objects_, rpl, true);
@@ -185,7 +187,7 @@ void GLRendererBase::renderSingleObject(GLObjectBase & o, RenderingParameters &
if (!o.visible_) return;
if (rpl.pass == o.pass_) {
Material & mat(o.material_);
QMatrix4x4 curview = rpl.view_matrix * o.itransform_;
QMatrix4x4 curview = rpl.view_matrix * o.itransform_, prevview = rpl.prev_view_matrix * o.itransform_;
setupTextures(o, rpl, false);
mat.apply((QGLShaderProgram*)rpl.shaders);
glSetPolygonMode(o.render_mode != GLObjectBase::View ? o.render_mode : (view.rmode != GLObjectBase::View ? view.rmode : GL_FILL));
@@ -215,7 +217,7 @@ void GLRendererBase::renderSingleObject(GLObjectBase & o, RenderingParameters &
}
if (rpl.shaders) {
//qDebug() << o.name() << curview << curview.determinant();
setUniformMatrices((QGLShaderProgram*)rpl.shaders, rpl.proj_matrix, curview);
setUniformMatrices((QGLShaderProgram*)rpl.shaders, rpl.proj_matrix, curview, rpl.prev_proj_matrix, prevview);
} else {
glMatrixMode(GL_MODELVIEW);
setGLMatrix(curview);