[Bf-blender-cvs] [4df76629a5d] tmp-eevee-shadowmap-refactor: DRW: Add shadow bias state
Clément Foucault
noreply at git.blender.org
Mon Sep 2 16:53:10 CEST 2019
Commit: 4df76629a5daccbfd5f42197b99124b8e1678f7e
Author: Clément Foucault
Date: Mon Aug 26 14:47:58 2019 +0200
Branches: tmp-eevee-shadowmap-refactor
https://developer.blender.org/rB4df76629a5daccbfd5f42197b99124b8e1678f7e
DRW: Add shadow bias state
This state add shadowmap bias to avoid most of self shadowing.
===================================================================
M source/blender/draw/intern/DRW_render.h
M source/blender/draw/intern/draw_manager_exec.c
===================================================================
diff --git a/source/blender/draw/intern/DRW_render.h b/source/blender/draw/intern/DRW_render.h
index 10ab7c13631..e3713fdee8f 100644
--- a/source/blender/draw/intern/DRW_render.h
+++ b/source/blender/draw/intern/DRW_render.h
@@ -346,6 +346,7 @@ typedef enum {
/** Use dual source blending. WARNING: Only one color buffer allowed. */
DRW_STATE_BLEND_CUSTOM = (1 << 23),
+ DRW_STATE_SHADOW_OFFSET = (1 << 27),
DRW_STATE_CLIP_PLANES = (1 << 28),
DRW_STATE_WIRE_SMOOTH = (1 << 29),
DRW_STATE_FIRST_VERTEX_CONVENTION = (1 << 30),
diff --git a/source/blender/draw/intern/draw_manager_exec.c b/source/blender/draw/intern/draw_manager_exec.c
index 50408015fbc..54c874241ac 100644
--- a/source/blender/draw/intern/draw_manager_exec.c
+++ b/source/blender/draw/intern/draw_manager_exec.c
@@ -279,6 +279,20 @@ void drw_state_set(DRWState state)
}
}
+ /* Shadow Bias */
+ {
+ int test;
+ if ((test = CHANGED_TO(DRW_STATE_SHADOW_OFFSET))) {
+ if (test == 1) {
+ glEnable(GL_POLYGON_OFFSET_FILL);
+ glPolygonOffset(1.0f, 1.0f);
+ }
+ else {
+ glDisable(GL_POLYGON_OFFSET_FILL);
+ }
+ }
+ }
+
/* Clip Planes */
{
int test;
More information about the Bf-blender-cvs
mailing list