source: opengl-game/shaders/scene.vert@ 2d87297

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

In VulkanGame, add objIndex to scene objects, use it in the scene shader to index into the ssbo, and change the code that copies data to the ssbo to do so for each scene object, not just the first one

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