first works of omni shadows
This commit is contained in:
@@ -57,7 +57,8 @@ class QGLENGINE_CORE_EXPORT Renderer: public RendererBase {
|
||||
srLightSpotPass,
|
||||
srFinalPass,
|
||||
srTonemapPass,
|
||||
srShadowPass,
|
||||
srShadowConePass,
|
||||
srShadowOmniPass,
|
||||
};
|
||||
enum OutBufferRole {
|
||||
obrSolidOmni,
|
||||
@@ -112,7 +113,10 @@ protected:
|
||||
void fillObjectsBuffer(const ObjectBaseList & ol, RenderPass pass);
|
||||
void renderObjects(Scene & scene, RenderPass pass);
|
||||
void renderLight(int first_wr_buff, bool clear_only);
|
||||
void renderShadow(int index, Light * light);
|
||||
void renderConeShadows();
|
||||
void renderOmniShadows();
|
||||
void renderConeShadow(int index, Light * light);
|
||||
void renderOmniShadow(int index, Light * light, QOpenGLShaderProgram * prog, QMatrix4x4 om);
|
||||
|
||||
bool bindShader(ShaderRole role, QOpenGLShaderProgram ** ret = 0);
|
||||
bool bindShader(QOpenGLShaderProgram * sp);
|
||||
@@ -124,7 +128,7 @@ protected:
|
||||
private:
|
||||
float gamma_ = 1.f;
|
||||
int camera_light_mode, cur_write_plane = 0, prev_write_plane = 0;
|
||||
bool edit_mode, need_init_shaders, need_render_sum;
|
||||
bool edit_mode, need_init_shaders, need_render_sum, __reinit_debug;
|
||||
Framebuffer fbo_ds, fbo_out;
|
||||
QMap<ShaderRole, QString> shader_files;
|
||||
QMap<ShaderRole, QStringList> shader_defines;
|
||||
@@ -143,6 +147,8 @@ private:
|
||||
QPoint mouse_pos;
|
||||
QRect mouse_rect;
|
||||
QMatrix4x4 prev_view, prev_proj;
|
||||
QMatrix4x4 mat_norm_to_tex_coord, mat_camera_fullview_inv, mat_proj_90;
|
||||
QMatrix4x4 mat_faces[6];
|
||||
QMatrix3x3 nm;
|
||||
QVector4D corner_dirs[4];
|
||||
QVector<QVector3D> hcontent;
|
||||
@@ -150,8 +156,7 @@ private:
|
||||
QVector<FramebufferEffectBase *> fb_effects;
|
||||
QImage last_img;
|
||||
QString timings;
|
||||
bool is_grabbing = false;
|
||||
QFunctionPointer framebufferTextureLayer = nullptr;
|
||||
bool is_grabbing = false;
|
||||
};
|
||||
|
||||
#endif // RENDERER_H
|
||||
|
||||
Reference in New Issue
Block a user