Normal offset shadows bias
This commit is contained in:
parent
ecc0020b92
commit
3c9e4fe487
|
@ -134,11 +134,8 @@ void main() {
|
|||
|
||||
#else
|
||||
|
||||
// TODO: merge..
|
||||
// vec3 noff = n * 0.003;
|
||||
if (lightShadow == 1) {
|
||||
// vec4 lPos = LWVP * vec4(p + noff, 1.0);
|
||||
vec4 lPos = LWVP * vec4(p, 1.0);
|
||||
vec4 lPos = LWVP * vec4(p + n * shadowsBias * 10, 1.0);
|
||||
if (lPos.w > 0.0) {
|
||||
visibility = shadowTest(lPos.xyz / lPos.w, shadowsBias, shadowmapSize);
|
||||
}
|
||||
|
|
|
@ -103,9 +103,9 @@ void main() {
|
|||
|
||||
if (lightShadow == 1) {
|
||||
#ifdef _CSM
|
||||
visibility = shadowTestCascade(eye, p, shadowsBias, shadowmapSize * vec2(shadowmapCascades, 1.0));
|
||||
visibility = shadowTestCascade(eye, p + n * shadowsBias * 10, shadowsBias, shadowmapSize * vec2(shadowmapCascades, 1.0));
|
||||
#else
|
||||
vec4 lPos = LWVP * vec4(p, 1.0);
|
||||
vec4 lPos = LWVP * vec4(p + n * shadowsBias * 100, 1.0);
|
||||
if (lPos.w > 0.0) visibility = shadowTest(lPos.xyz / lPos.w, shadowsBias, shadowmapSize);
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -109,7 +109,6 @@ mat4 getCascadeMat(const float d, out int casi, out int casIndex) {
|
|||
// ..
|
||||
}
|
||||
|
||||
// float shadowTestCascade(float dotNL, vec3 n, const vec3 eye, const vec3 p, const float shadowsBias, const vec2 smSize) {
|
||||
float shadowTestCascade(const vec3 eye, const vec3 p, const float shadowsBias, const vec2 smSize) {
|
||||
const int c = shadowmapCascades;
|
||||
float d = distance(eye, p);
|
||||
|
@ -117,10 +116,6 @@ float shadowTestCascade(const vec3 eye, const vec3 p, const float shadowsBias, c
|
|||
int casi;
|
||||
int casIndex;
|
||||
mat4 LWVP = getCascadeMat(d, casi, casIndex);
|
||||
|
||||
// float cosAngle = max(1.0 - dotNL, 0.0);
|
||||
// vec3 noff = n * shadowsBias * cosAngle;
|
||||
// vec4 lPos = LWVP * vec4(p + noff, 1.0);
|
||||
|
||||
vec4 lPos = LWVP * vec4(p, 1.0);
|
||||
|
||||
|
|
|
@ -63,7 +63,6 @@ class SoftBody extends Trait {
|
|||
|
||||
if (physics == null) physics = armory.trait.physics.PhysicsWorld.active;
|
||||
|
||||
var softBodyHelpers = BtSoftBodyHelpers.create();
|
||||
var mo = cast(object, MeshObject);
|
||||
mo.frustumCulling = false;
|
||||
var geom = mo.data.geom;
|
||||
|
@ -98,9 +97,10 @@ class SoftBody extends Trait {
|
|||
var vecind = fromU32(geom.indices[0]);
|
||||
var numtri = Std.int(geom.indices[0].length / 3);
|
||||
#if js
|
||||
var softBodyHelpers = BtSoftBodyHelpers.create();
|
||||
body = softBodyHelpers.CreateFromTriMesh(wrdinfo, positions, vecind, numtri);
|
||||
#elseif cpp
|
||||
untyped __cpp__("body = softBodyHelpers.CreateFromTriMesh(wrdinfo, positions->Pointer(), vecind->Pointer(), numtri);");
|
||||
untyped __cpp__("body = btSoftBodyHelpers::CreateFromTriMesh(wrdinfo, positions->Pointer(), vecind->Pointer(), numtri);");
|
||||
#end
|
||||
|
||||
// body.generateClusters(4);
|
||||
|
|
Loading…
Reference in a new issue