Reduces the uniform size of a texture transform of debug overlay shader.
This was SVN commit r27208.
This commit is contained in:
parent
097725e1e0
commit
3978149386
@ -4,21 +4,22 @@
|
||||
|
||||
uniform mat4 transform;
|
||||
#if DEBUG_TEXTURED
|
||||
uniform mat4 textureTransform;
|
||||
uniform vec2 textureTransform;
|
||||
#endif
|
||||
|
||||
#if DEBUG_TEXTURED
|
||||
varying vec2 v_tex;
|
||||
#endif
|
||||
|
||||
VERTEX_INPUT_ATTRIBUTE(0, vec3, a_vertex);
|
||||
|
||||
#if DEBUG_TEXTURED
|
||||
VERTEX_INPUT_ATTRIBUTE(1, vec3, a_uv0);
|
||||
|
||||
varying vec2 v_tex;
|
||||
#endif
|
||||
|
||||
void main()
|
||||
{
|
||||
#if DEBUG_TEXTURED
|
||||
v_tex = (textureTransform * vec4(a_uv0, 1.0)).xy;
|
||||
v_tex = textureTransform.xy * a_uv0.xz;
|
||||
#endif
|
||||
OUTPUT_VERTEX_POSITION(transform * vec4(a_vertex, 1.0));
|
||||
}
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include "graphics/Terrain.h"
|
||||
#include "lib/bits.h"
|
||||
#include "maths/MathUtil.h"
|
||||
#include "maths/Vector2D.h"
|
||||
#include "ps/CStrInternStatic.h"
|
||||
#include "ps/Game.h"
|
||||
#include "ps/Profile.h"
|
||||
@ -339,14 +340,11 @@ void TerrainTextureOverlay::RenderAfterWater(
|
||||
|
||||
free(data);
|
||||
|
||||
CMatrix3D matrix;
|
||||
matrix.SetZero();
|
||||
matrix._11 = m_TexelsPerTile / (m_Texture->GetWidth() * TERRAIN_TILE_SIZE);
|
||||
matrix._23 = m_TexelsPerTile / (m_Texture->GetHeight() * TERRAIN_TILE_SIZE);
|
||||
matrix._44 = 1;
|
||||
|
||||
const CVector2D textureTransform{
|
||||
m_TexelsPerTile / (m_Texture->GetWidth() * TERRAIN_TILE_SIZE),
|
||||
m_TexelsPerTile / (m_Texture->GetHeight() * TERRAIN_TILE_SIZE)};
|
||||
g_Renderer.GetSceneRenderer().GetTerrainRenderer().RenderTerrainOverlayTexture(
|
||||
deviceCommandContext, cullGroup, matrix, m_Texture.get());
|
||||
deviceCommandContext, cullGroup, textureTransform, m_Texture.get());
|
||||
}
|
||||
|
||||
SColor4ub TerrainTextureOverlay::GetColor(size_t idx, u8 alpha) const
|
||||
|
@ -32,6 +32,7 @@
|
||||
#include "graphics/TextRenderer.h"
|
||||
#include "graphics/TextureManager.h"
|
||||
#include "maths/MathUtil.h"
|
||||
#include "maths/Vector2D.h"
|
||||
#include "ps/CLogger.h"
|
||||
#include "ps/CStrInternStatic.h"
|
||||
#include "ps/Filesystem.h"
|
||||
@ -162,7 +163,7 @@ void TerrainRenderer::EndFrame()
|
||||
|
||||
void TerrainRenderer::RenderTerrainOverlayTexture(
|
||||
Renderer::Backend::IDeviceCommandContext* deviceCommandContext,
|
||||
int cullGroup, CMatrix3D& textureMatrix,
|
||||
int cullGroup, const CVector2D& textureTransform,
|
||||
Renderer::Backend::ITexture* texture)
|
||||
{
|
||||
ENSURE(m->phase == Phase_Render);
|
||||
@ -183,7 +184,7 @@ void TerrainRenderer::RenderTerrainOverlayTexture(
|
||||
deviceCommandContext->SetUniform(
|
||||
debugOverlayShader->GetBindingSlot(str_transform), transform.AsFloatArray());
|
||||
deviceCommandContext->SetUniform(
|
||||
debugOverlayShader->GetBindingSlot(str_textureTransform), textureMatrix.AsFloatArray());
|
||||
debugOverlayShader->GetBindingSlot(str_textureTransform), textureTransform.AsFloatArray());
|
||||
CPatchRData::RenderStreams(deviceCommandContext, visiblePatches, true);
|
||||
|
||||
// To make the overlay visible over water, render an additional map-sized
|
||||
|
@ -31,11 +31,11 @@
|
||||
|
||||
class CCamera;
|
||||
class CCanvas2D;
|
||||
class CMatrix3D;
|
||||
class CModelDecal;
|
||||
class CPatch;
|
||||
class CShaderDefines;
|
||||
class CSimulation2;
|
||||
class CVector2D;
|
||||
|
||||
class ShadowMap;
|
||||
|
||||
@ -167,7 +167,7 @@ public:
|
||||
*/
|
||||
void RenderTerrainOverlayTexture(
|
||||
Renderer::Backend::IDeviceCommandContext* deviceCommandContext,
|
||||
int cullGroup, CMatrix3D& textureMatrix, Renderer::Backend::ITexture* texture);
|
||||
int cullGroup, const CVector2D& textureTransform, Renderer::Backend::ITexture* texture);
|
||||
|
||||
private:
|
||||
TerrainRendererInternals* m;
|
||||
|
Loading…
Reference in New Issue
Block a user