[WIP] Create pipeline for transparent on screen objects

This commit is contained in:
Piotr Krygier committed 2025-06-20 13:44:33 +02:00
1 parent 3c72c9b387
commit 56c0b7922f
6 files changed
+31 -11

No files matched your search

+7 -7
View File
@@ -51,25 +51,25 @@ void rse_graphics_test_function(void)
{{0.5f, 0.5f, 0.0f}, {0.0f, 0.0f, 1.0f}, {1.0f, 1.0f}},
{{-0.5f, 0.5f, 0.0f}, {1.0f, 1.0f, 1.0f}, {0.0f, 1.0f}}};
struct rse_vertex_t vertices2[] = {{{-0.5f, -0.5f, -0.5f}, {1.0f, 1.0f, 1.0f}, {0.0f, 0.0f}},
{{0.5f, -0.5f, -0.5f}, {1.0f, 1.0f, 1.0f}, {1.0f, 0.0f}},
{{0.5f, 0.5f, -0.5f}, {1.0f, 1.0f, 1.0f}, {1.0f, 1.0f}},
{{-0.5f, 0.5f, -0.5f}, {1.0f, 1.0f, 1.0f}, {0.0f, 1.0f}}};
struct rse_vertex_t vertices2[] = {{{-0.5f, -0.5f, 0.0f}, {1.0f, 1.0f, 1.0f}, {0.0f, 0.0f}},
{{0.5f, -0.5f, 0.0f}, {1.0f, 1.0f, 1.0f}, {1.0f, 0.0f}},
{{0.5f, 0.5f, 0.0f}, {1.0f, 1.0f, 1.0f}, {1.0f, 1.0f}},
{{-0.5f, 0.5f, 0.0f}, {1.0f, 1.0f, 1.0f}, {0.0f, 1.0f}}};
// FIXME: Temporary array of vertices, for testing purposes
uint16_t indices[] = {0, 1, 2, 2, 3, 0};
uint16_t mesh_id = create_mesh(vertices, indices, 6, 6);
create_mesh_instance(mesh_id, (struct rse_instance_data_t){
{0.0f, 0.0f, 0.4f},
{0.0f, 0.0f, 2.4f},
{0.0f, 0.0f, rse_math_deg_to_radians(45.0f)},
1.0f,
tex_id_2
});
create_mesh_instance(mesh_id, (struct rse_instance_data_t){
{-1.0f, 0.0f, 0.3f},
{0.0f, 0.0f, 0.0f},
{-0.5f, 0.0f, -1.0f},
{0.0f, 0.0f, rse_math_deg_to_radians(10.0f)},
1.0f,
tex_id_2
});
+1 -1
View File
@@ -572,7 +572,7 @@ rse_err_t find_depth_format(VkFormat* found_format)
{
#define formats_count 3
rse_err_t status;
VkFormat formats[formats_count] = {VK_FORMAT_D32_SFLOAT, VK_FORMAT_D32_SFLOAT_S8_UINT, VK_FORMAT_D24_UNORM_S8_UINT};
VkFormat formats[formats_count] = {VK_FORMAT_D32_SFLOAT};
STATUS_CHECK(find_supported_format(
formats,
+3 -2
View File
@@ -16,7 +16,7 @@
#include <stdlib.h>
#include <string.h>
#define SHADER_MODULES_COUNT 2U
#define SHADER_MODULES_COUNT 3U
enum shader_stage_t
{
@@ -33,7 +33,8 @@ VkShaderModule g_shader_modules[SHADER_MODULES_COUNT];
const char* g_shader_paths[] = {
"../graphics/shaders/shader.vert.num",
"../graphics/shaders/shader.frag.num",
"../graphics/shaders/solid_objects.frag.num",
"../graphics/shaders/on_screen_text.frag.num",
};
static VkVertexInputBindingDescription get_binding_description()