Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

examples(shaders/glsl): Update GLSL Shader Example Camera View uniform #15865

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 14 additions & 9 deletions assets/shaders/custom_material.vert
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,19 @@ layout(location = 2) in vec2 Vertex_Uv;
layout(location = 0) out vec2 v_Uv;

layout(set = 0, binding = 0) uniform CameraViewProj {
mat4 ViewProj;
mat4 View;
mat4 InverseView;
mat4 Projection;
vec3 WorldPosition;
float width;
float height;
};
mat4 clip_from_world;
mat4 unjittered_clip_from_world;
mat4 world_from_clip;
mat4 world_from_view;
mat4 view_from_world;
mat4 clip_from_view;
mat4 view_from_clip;
vec3 world_position; // Camera's world position
float exposure;
vec4 viewport; // viewport(x_origin, y_origin, width, height)
vec4 frustum[6];
// See full definition in: crates/bevy_render/src/view/view.wgsl
} camera_view;

struct Mesh {
mat3x4 Model;
Expand All @@ -41,7 +46,7 @@ mat4 affine_to_square(mat3x4 affine) {

void main() {
v_Uv = Vertex_Uv;
gl_Position = ViewProj
gl_Position = camera_view.clip_from_world
* affine_to_square(Meshes[gl_InstanceIndex].Model)
* vec4(Vertex_Position, 1.0);
}