source: opengl-game/shaders/scene.vert@ 785333b

feature/imgui-sdl points-test
Last change on this file since 785333b was 055750a, checked in by Dmitry Portnoy <dmitry.portnoy@…>, 5 years ago

In VulkanGame, use SSBOs in the ship and scene shaders to store per-object data (currently just the model matrix)

  • Property mode set to 100644
File size: 638 bytes
Line 
1#version 450
2#extension GL_ARB_separate_shader_objects : enable
3
4struct Object {
5 mat4 model;
6};
7
8layout (binding = 0) uniform UniformBufferObject {
9 mat4 view;
10 mat4 proj;
11} ubo;
12
13layout(binding = 1) readonly buffer StorageBufferObject {
14 Object objects[];
15} sbo;
16
17layout(location = 0) in vec3 inPosition;
18layout(location = 1) in vec3 inColor;
19layout(location = 2) in vec2 inTexCoord;
20
21layout(location = 0) out vec3 fragColor;
22layout(location = 1) out vec2 fragTexCoord;
23
24void main() {
25 fragColor = inColor;
26 fragTexCoord = inTexCoord;
27
28 gl_Position = ubo.proj * ubo.view * sbo.objects[0].model * vec4(inPosition, 1.0);
29}
Note: See TracBrowser for help on using the repository browser.