shadows done

This commit is contained in:
2023-02-17 14:51:27 +03:00
parent 3c9386de63
commit eb5f50fc9d
6 changed files with 124 additions and 88 deletions

View File

@@ -37,8 +37,8 @@ RendererBase::RendererBase(QGLView * view_)
, buffer_lights_pos(GL_UNIFORM_BUFFER, GL_STREAM_DRAW)
, textures_empty(GL_RGBA, false)
, textures_maps(GL_RGBA, true)
, shadow_maps_cone(GL_R32F, false)
, shadow_maps_omni(GL_R32F, false) {
, shadow_maps_cone(GL_DEPTH_COMPONENT, false)
, shadow_maps_omni(GL_DEPTH_COMPONENT, false) {
textures_manager = new TextureManager(view);
maps_size = QSize(1024, 1024);
maps_hash = 0;
@@ -64,6 +64,16 @@ void RendererBase::initTextureArrays() {
textures_empty.load(f, im, emrBlue);
shadow_maps_cone.init(f);
shadow_maps_omni.init(f);
shadow_maps_cone.bind(f, tarShadowsCone);
f->glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
f->glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
f->glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
f->glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
f->glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_R_TO_TEXTURE);
f->glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_COMPARE_FUNC, GL_LESS);
shadow_maps_omni.bind(f, tarShadowsOmni);
f->glTexParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_REF_TO_TEXTURE);
f->glTexParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_COMPARE_FUNC, GL_LESS);
}