mirror of
https://github.com/overte-org/overte.git
synced 2025-04-20 18:44:01 +02:00
trying to debug the indirect sh lighting going wrong, the noraml on avatar is not correct
This commit is contained in:
parent
10269bd556
commit
ecdffadcb7
6 changed files with 16 additions and 16 deletions
|
@ -2996,6 +2996,8 @@ void Application::displaySide(Camera& theCamera, bool selfAvatarOnly, RenderArgs
|
|||
"Application::displaySide() ... entities...");
|
||||
if (renderCollisionHulls) {
|
||||
_entities.render(RenderArgs::DEBUG_RENDER_MODE, renderSide);
|
||||
} else if (theCamera.getMode() == CAMERA_MODE_MIRROR) {
|
||||
_entities.render(RenderArgs::MIRROR_RENDER_MODE, renderSide);
|
||||
} else {
|
||||
_entities.render(RenderArgs::DEFAULT_RENDER_MODE, renderSide);
|
||||
}
|
||||
|
|
|
@ -528,10 +528,10 @@ void Avatar::simulateAttachments(float deltaTime) {
|
|||
}
|
||||
|
||||
void Avatar::renderAttachments(RenderArgs::RenderMode renderMode, RenderArgs* args) {
|
||||
RenderArgs::RenderMode modelRenderMode = (renderMode == RenderArgs::SHADOW_RENDER_MODE) ?
|
||||
RenderArgs::SHADOW_RENDER_MODE : RenderArgs::DEFAULT_RENDER_MODE;
|
||||
// RenderArgs::RenderMode modelRenderMode = (renderMode == RenderArgs::SHADOW_RENDER_MODE) ?
|
||||
// RenderArgs::SHADOW_RENDER_MODE : RenderArgs::DEFAULT_RENDER_MODE;
|
||||
foreach (Model* model, _attachmentModels) {
|
||||
model->render(1.0f, modelRenderMode, args);
|
||||
model->render(1.0f, renderMode, args);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1401,12 +1401,12 @@ void MyAvatar::renderAttachments(RenderArgs::RenderMode renderMode, RenderArgs*
|
|||
}
|
||||
const FBXGeometry& geometry = _skeletonModel.getGeometry()->getFBXGeometry();
|
||||
QString headJointName = (geometry.headJointIndex == -1) ? QString() : geometry.joints.at(geometry.headJointIndex).name;
|
||||
RenderArgs::RenderMode modelRenderMode = (renderMode == RenderArgs::SHADOW_RENDER_MODE) ?
|
||||
RenderArgs::SHADOW_RENDER_MODE : RenderArgs::DEFAULT_RENDER_MODE;
|
||||
// RenderArgs::RenderMode modelRenderMode = (renderMode == RenderArgs::SHADOW_RENDER_MODE) ?
|
||||
// RenderArgs::SHADOW_RENDER_MODE : RenderArgs::DEFAULT_RENDER_MODE;
|
||||
for (int i = 0; i < _attachmentData.size(); i++) {
|
||||
const QString& jointName = _attachmentData.at(i).jointName;
|
||||
if (jointName != headJointName && jointName != "Head") {
|
||||
_attachmentModels.at(i)->render(1.0f, modelRenderMode, args);
|
||||
_attachmentModels.at(i)->render(1.0f, renderMode, args);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -394,12 +394,12 @@ void EntityTreeRenderer::render(RenderArgs::RenderMode renderMode, RenderArgs::R
|
|||
_tree->lockForRead();
|
||||
_tree->recurseTreeWithOperation(renderOperation, &args);
|
||||
|
||||
Model::RenderMode modelRenderMode = renderMode == RenderArgs::SHADOW_RENDER_MODE
|
||||
? RenderArgs::SHADOW_RENDER_MODE : RenderArgs::DEFAULT_RENDER_MODE;
|
||||
// Model::RenderMode modelRenderMode = renderMode == RenderArgs::SHADOW_RENDER_MODE
|
||||
// ? RenderArgs::SHADOW_RENDER_MODE : RenderArgs::DEFAULT_RENDER_MODE;
|
||||
|
||||
// we must call endScene while we still have the tree locked so that no one deletes a model
|
||||
// on us while rendering the scene
|
||||
Model::endScene(modelRenderMode, &args);
|
||||
Model::endScene(renderMode, &args);
|
||||
_tree->unlock();
|
||||
|
||||
// stats...
|
||||
|
|
|
@ -82,15 +82,16 @@ vec3 evalAmbienSphereGlobalColor(float shadowAttenuation, vec3 position, vec3 no
|
|||
|
||||
// TODO: The world space normal doesn;t seem to work properly with the current SH definitions
|
||||
// FoOr now, we use the normal in view space
|
||||
vec3 ambientNormal = normal;
|
||||
vec3 ambientNormal = fragNormal.xzy;
|
||||
|
||||
vec3 color = diffuse.rgb * 0.5 * evalSphericalLight(ambientSphere, ambientNormal).xyz;
|
||||
vec3 color = /* diffuse.rgb * 0.5 */ evalSphericalLight(ambientSphere, ambientNormal).xyz;
|
||||
|
||||
vec4 shading = evalFragShading(fragNormal, -getLightDirection(light), fragEyeDir, specular, gloss);
|
||||
|
||||
color += vec3(diffuse + shading.rgb) * shading.w * shadowAttenuation * getLightColor(light) * getLightIntensity(light);
|
||||
// color += vec3(diffuse + shading.rgb) * shading.w * shadowAttenuation * getLightColor(light) * getLightIntensity(light);
|
||||
|
||||
return color;
|
||||
//return color;
|
||||
return fragNormal;
|
||||
}
|
||||
|
||||
vec3 evalLightmappedColor(float shadowAttenuation, vec3 normal, vec3 diffuse, vec3 lightmap) {
|
||||
|
|
|
@ -814,9 +814,6 @@ bool Model::renderCore(float alpha, RenderMode mode, RenderArgs* args) {
|
|||
translucentMeshPartsRendered += renderMeshes(batch, mode, true, MOSTLY_TRANSPARENT_THRESHOLD, false, true, true, true, args, true);
|
||||
}
|
||||
|
||||
// try that
|
||||
batch.setPipeline(gpu::PipelinePointer());
|
||||
|
||||
GLBATCH(glDepthMask)(true);
|
||||
GLBATCH(glDepthFunc)(GL_LESS);
|
||||
GLBATCH(glDisable)(GL_CULL_FACE);
|
||||
|
|
Loading…
Reference in a new issue