Move back to C
I'm insane and as such I have moved to C AGAIN! Without any reason.
This commit is contained in:
1 parent
bf31b96a2e
commit
3d538eaa2c
43 files changed
+2645
-2649
No files matched your search
@@ -0,0 +1,86 @@
|
||||
#include "rse_graphics.h"
|
||||
#include "window.h"
|
||||
#include "vulkan_base.h"
|
||||
|
||||
#include "mesh_controller.h"
|
||||
#include "vulkan_commons.h"
|
||||
|
||||
#include "rse_math.h"
|
||||
|
||||
extern struct rse_vulkan_state_t g_vulkan_state;
|
||||
|
||||
void rse_graphics_init(void)
|
||||
{
|
||||
// g_vulkan_state = malloc(sizeof(struct rse_vulkan_state_t));
|
||||
g_vulkan_state.graphics_queue = VK_NULL_HANDLE;
|
||||
g_vulkan_state.physical_device = VK_NULL_HANDLE;
|
||||
g_vulkan_state.current_frame = 0U;
|
||||
// vulkan_state->queueFamilyIndices = {0U}; /* TODO: Change when more families are needed */
|
||||
// g_vulkan_state->uniformBuffers = {};
|
||||
// g_vulkan_state->pCommandBuffers = {};
|
||||
// g_vulkan_state->descriptorSets = {};
|
||||
// g_vulkan_state->swapChainImageViews = {}; TODO: Allocate later
|
||||
// g_vulkan_state->swapchainExtent = {}; TODO: Allocate later
|
||||
g_vulkan_state.render_pass = VK_NULL_HANDLE;
|
||||
g_vulkan_state.descriptor_set_layout = VK_NULL_HANDLE;
|
||||
// g_vulkan_state->swapchainFramebuffers = {}; TODO: Allocate later
|
||||
g_vulkan_state.graphics_pipeline = VK_NULL_HANDLE;
|
||||
g_vulkan_state.pipeline_layout = VK_NULL_HANDLE;
|
||||
g_vulkan_state.swapchain = VK_NULL_HANDLE;
|
||||
}
|
||||
|
||||
void rse_graphics_deinit()
|
||||
{
|
||||
// free(g_vulkan_state);
|
||||
}
|
||||
|
||||
|
||||
uint8_t rse_graphics_run(void)
|
||||
{
|
||||
window_init();
|
||||
|
||||
if (0 != init_vulkan())
|
||||
return -1;
|
||||
|
||||
// FIXME: Temporary array of vertices, for testing purposes
|
||||
struct rse_vertex_t vertices[] = {{{-0.5f, -0.5f, 0.0f}, {1.0f, 0.0f, 1.0f}},
|
||||
{{0.5f, -0.5f, 0.0f}, {0.0f, 1.0f, 1.0f}},
|
||||
{{0.5f, 0.5f, 0.0f}, {0.0f, 0.0f, 1.0f}},
|
||||
{{-0.5f, 0.5f, 0.0f}, {1.0f, 0.0f, 1.0f}}};
|
||||
struct rse_vertex_t vertices2[] = {{{-0.5f, -0.5f, 0.0f}, {1.0f, 0.0f, 1.0f}},
|
||||
|
||||
{{0.5f, -0.5f, 0.0f}, {0.0f, 1.0f, 0.0f}},
|
||||
{{0.5f, 0.5f, 0.0f}, {0.0f, 1.0f, 0.0f}},
|
||||
{{-0.5f, 0.5f, 0.0f}, {1.0f, 1.0f, 0.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, 24, 6);
|
||||
create_mesh_instance(mesh_id, (struct rse_instance_data_t){
|
||||
{0.0f, 0.0f, 0.0f},
|
||||
{0.0f, 0.0f, rse_math_deg_to_radians(45.0f)},
|
||||
1.0f
|
||||
});
|
||||
|
||||
create_mesh_instance(mesh_id, (struct rse_instance_data_t){
|
||||
{-1.0f, 0.0f, 0.0f},
|
||||
{0.0f, 0.0f, 0.0f},
|
||||
1.0f
|
||||
});
|
||||
|
||||
mesh_id = create_mesh(vertices, indices, 24, 6);
|
||||
create_mesh_instance(mesh_id, (struct rse_instance_data_t){
|
||||
{0.0f, 1.0f, 0.0f},
|
||||
{0.0f, 0.0f, rse_math_deg_to_radians(0.0f)},
|
||||
1.0f
|
||||
});
|
||||
|
||||
window_loop();
|
||||
|
||||
deinit_vulkan();
|
||||
|
||||
window_terminate();
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in new issue
Block a user