Using number of segments per patch in rendering.

This commit is contained in:
Kalle Bladin
2016-04-22 12:38:13 -04:00
parent 3c8434bee0
commit 198c284e23
2 changed files with 5 additions and 1 deletions
@@ -133,6 +133,7 @@ namespace openspace {
_programObject->setUniform("uvTransformPatchToTile", uvTransform);
LatLon swCorner = patch.southWestCorner();
_programObject->setUniform("segmentsPerPatch", _grid->xSegments());
_programObject->setUniform("modelViewProjectionTransform", modelViewProjectionTransform);
_programObject->setUniform("minLatLon", vec2(swCorner.toLonLatVec2()));
_programObject->setUniform("lonLatScalingFactor", vec2(patch.size().toLonLatVec2()));
@@ -224,6 +225,7 @@ namespace openspace {
_programObject->setUniform(
"modelViewProjectionTransform",
data.camera.projectionMatrix() * viewTransform * modelTransform);
_programObject->setUniform("segmentsPerPatch", segmentsPerPatch);
_programObject->setUniform("minLatLon", vec2(newPatch.southWestCorner().toLonLatVec2()));
_programObject->setUniform("lonLatScalingFactor", vec2(patchSize.toLonLatVec2()));
_programObject->setUniform("globeRadius", float(radius));
+3 -1
View File
@@ -38,6 +38,8 @@ uniform sampler2D nightTex;
uniform sampler2D textureSampler;
uniform mat3 uvTransformPatchToTile;
uniform int segmentsPerPatch;
in vec4 vs_position;
in vec2 vs_uv;
@@ -49,7 +51,7 @@ Fragment getFragment() {
Fragment frag;
frag.color = texture(textureSampler, vec2(uvTransformPatchToTile * vec3(vs_uv.s, vs_uv.t, 1)));
frag.color = frag.color * 1.0 + vec4(fract(vs_uv * 32), 0.4,1) * 0.0;
frag.color = frag.color * 1.0 + vec4(fract(vs_uv * segmentsPerPatch), 0.4,1) * 0.4;
frag.depth = pscDepth(vs_position);
return frag;