#include "common/vertex.hlsl"

struct VSInput
{
    float3 position : POSITION;
    float2 texcoord : TEXCOORD0;
};

struct VSOutput
{
    float4 position : SV_POSITION;
    float2 texcoord : TEXCOORD0;
};

output vertex(output i)
{
  return i;
}
/*
VSOutput mainVS(VSInput input)
{
    VSOutput output;

    // Standard transform
    float4 worldPos = mul(float4(input.position, 1.0), gWorldViewProj);
    
    // Simulate wobble by snapping coordinates to a lower precision grid.
    // For a PS1-style effect, we can quantize the projected coordinates.
    // For instance, if wobbleIntensity is something small like 1.0 or 0.5,
    // multiply, floor, and divide back:
    float factor = 1.0 / wobbleIntensity;
    worldPos.x = floor(worldPos.x * factor) / factor;
    worldPos.y = floor(worldPos.y * factor) / factor;
    worldPos.z = floor(worldPos.z * factor) / factor;
    worldPos.w = floor(worldPos.w * factor) / factor;

    // Output position
    output.position = worldPos;

    // Pass through texture coordinate as-is.
    // We do not do perspective correction here intentionally (PS1 didn't).
    // PS1 essentially did affine mapping in screen space. To simulate this,
    // we can just pass the original texcoords and let the pixel shader
    // treat them linearly.
    output.texcoord = input.texcoord;

    return output;
}
*/