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

This commit is contained in:
2020-01-09 16:55:48 +00:00
parent 7c1dd9bf0a
commit 629be03b96
5 changed files with 31 additions and 15 deletions

View File

@@ -168,7 +168,6 @@ void QGLView::render() {
emit glBeginPaint(); emit glBeginPaint();
renderer_.mouse_pos = mapFromGlobal(QCursor::pos()); renderer_.mouse_pos = mapFromGlobal(QCursor::pos());
renderer_.renderScene(); renderer_.renderScene();
emit glPainting();
emit glEndPaint(); emit glEndPaint();
fps_tm += time.elapsed(); fps_tm += time.elapsed();
time.restart(); time.restart();

View File

@@ -23,8 +23,8 @@
#include "glframebuffer.h" #include "glframebuffer.h"
#include "glprimitives.h" #include "glprimitives.h"
#include "glcamera.h" #include "glcamera.h"
#include "glscene.h"
#include "glrendererbase.h" #include "glrendererbase.h"
#include "glscene.h"
#include "renderer.h" #include "renderer.h"
#include "mouse_controller.h" #include "mouse_controller.h"
#include <QTime> #include <QTime>
@@ -269,9 +269,7 @@ public slots:
void reloadShaders() {renderer_.reloadShaders();} void reloadShaders() {renderer_.reloadShaders();}
signals: signals:
void glBeforePaint();
void glBeginPaint(); void glBeginPaint();
void glPainting();
void glEndPaint(); void glEndPaint();
void glKeyPressEvent(QKeyEvent * e); void glKeyPressEvent(QKeyEvent * e);
void glKeyReleaseEvent(QKeyEvent * e); void glKeyReleaseEvent(QKeyEvent * e);

View File

@@ -108,14 +108,14 @@ void Renderer::resize(int width, int height) {
void Renderer::reloadShaders() { void Renderer::reloadShaders() {
QMapIterator<ShaderRole, QString> it(shader_files); QMapIterator<ShaderRole, QString> it(shader_files);
QString dir = "shaders/"; QString dir = ":shaders/";
while (it.hasNext()) { while (it.hasNext()) {
it.next(); it.next();
loadShadersMulti(shaders[it.key()], dir + it.value(), true, shader_defines.value(it.key())); loadShadersMulti(shaders[it.key()], dir + it.value(), true, shader_defines.value(it.key()));
} }
loadShadersMulti(tone_proc.shader_sum, dir + "sum.glsl", false); loadShadersMulti(tone_proc.shader_sum, dir + "sum.glsl", false);
QStringList fxaa_defs; QStringList fxaa_defs;
fxaa_defs << "FXAA_PC 1" << "FXAA_GLSL_130 1" << "FXAA_QUALITY__PRESET 20"; fxaa_defs << "FXAA_PC 1" << "FXAA_GLSL_130 1" << "FXAA_QUALITY__PRESET 15";
loadShaders(shader_fxaa, QStringList() << (dir + "fxaa.vert") << (dir + "fxaa.frag"), true, fxaa_defs); loadShaders(shader_fxaa, QStringList() << (dir + "fxaa.vert") << (dir + "fxaa.frag"), true, fxaa_defs);
need_init_shaders = true; need_init_shaders = true;
view->scene()->setLightsChanged(); view->scene()->setLightsChanged();

View File

@@ -60,7 +60,7 @@ RendererService::RendererService(Renderer * r_): r(r_) {
omni_mesh = Primitive::ellipsoid(2, 1, 0.5); omni_mesh = Primitive::ellipsoid(2, 1, 0.5);
omni_mesh_f = Primitive::ellipsoidFrame(2, 1, 0.5); omni_mesh_f = Primitive::ellipsoidFrame(2, 1, 0.5);
omni_mesh ->scalePoints(1.5); omni_mesh ->scalePoints(1.5);
omni_mesh_f->scalePoints(1.5); omni_mesh_f ->scalePoints(1.5);
cone_mesh = Primitive::cone(8, 0.5, 1.); cone_mesh = Primitive::cone(8, 0.5, 1.);
cone_mesh_f = Primitive::coneFrame(8, 0.5, 1.); cone_mesh_f = Primitive::coneFrame(8, 0.5, 1.);
QMatrix4x4 mat; QMatrix4x4 mat;
@@ -116,7 +116,7 @@ RendererService::RendererService(Renderer * r_): r(r_) {
handle_ms_2_mesh ->scalePoints(7.5); handle_ms_2_mesh ->scalePoints(7.5);
handle_rotate_mesh ->scalePoints(7.5); handle_rotate_mesh ->scalePoints(7.5);
handle_scale_mesh ->scalePoints(7.5); handle_scale_mesh ->scalePoints(7.5);
handle_scale_3_mesh ->scalePoints(7.5); handle_scale_3_mesh->scalePoints(7.5);
} }

19
qglengine/shaders.qrc Normal file
View File

@@ -0,0 +1,19 @@
<RCC>
<qresource prefix="/">
<file>shaders/ds_final.glsl</file>
<file>shaders/ds_geom.glsl</file>
<file>shaders/ds_light.glsl</file>
<file>shaders/ds_tonemap.glsl</file>
<file>shaders/fxaa.frag</file>
<file>shaders/fxaa.vert</file>
<file>shaders/fxaa_v3.h</file>
<file>shaders/selection.glsl</file>
<file>shaders/selection_apply.glsl</file>
<file>shaders/selection_frame.glsl</file>
<file>shaders/selection_halo.glsl</file>
<file>shaders/service_fill.glsl</file>
<file>shaders/service_frame.glsl</file>
<file>shaders/service_line.glsl</file>
<file>shaders/sum.glsl</file>
</qresource>
</RCC>