Experimentation using Vulkan.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

35 lines
948 B

// Copyright 2022 Simon Boyé
#version 450
layout(binding = 0) uniform Uniforms {
mat4 scene_from_model;
mat4 projection_from_scene;
vec2 screen_size;
float lod;
} uniforms;
layout(location = 0) in vec3 in_position;
layout(location = 1) in vec3 in_position2;
layout(location = 2) in vec3 in_normal;
layout(location = 3) in vec3 in_color;
layout(location = 0) out vec4 out_position;
layout(location = 1) out vec3 out_normal;
layout(location = 2) out vec3 out_color;
void main() {
// float lod = clamp(
// 2.0 * dot(transpose(uniforms.scene_from_model)[0].xyz, in_position) + 0.5,
// 0.0, 1.0
// );
// vec3 position = mix(in_position2, in_position, lod);
vec3 position = in_position;
out_position =
uniforms.projection_from_scene *
uniforms.scene_from_model *
vec4(position, 1.0);
out_normal = in_normal;
out_color = in_color;
gl_Position = out_position;
}