More reformatting
This commit is contained in:
parent
09e9f611f8
commit
ab8343e749
@ -5,8 +5,7 @@
|
||||
#include "vec.h"
|
||||
#include <stdio.h>
|
||||
|
||||
Model load_obj_file(Arena *arena, const char *filename, const char *diffuse,
|
||||
const char *tangent) {
|
||||
Model load_obj_file(Arena *arena, const char *filename, const char *diffuse, const char *tangent) {
|
||||
if (!arena) {
|
||||
return INVALID_MODEL;
|
||||
}
|
||||
@ -22,8 +21,7 @@ Model load_obj_file(Arena *arena, const char *filename, const char *diffuse,
|
||||
.texture_coordinates = list_create(V2f, arena),
|
||||
.triangles = list_create(Triangle, arena),
|
||||
};
|
||||
if (!(model.vertices) || !(model.normals) || !(model.texture_coordinates) ||
|
||||
!(model.triangles)) {
|
||||
if (!(model.vertices) || !(model.normals) || !(model.texture_coordinates) || !(model.triangles)) {
|
||||
return INVALID_MODEL;
|
||||
}
|
||||
|
||||
|
@ -58,7 +58,6 @@ struct model {
|
||||
Image *normal;
|
||||
};
|
||||
|
||||
Model load_obj_file(Arena *arena, const char *filename, const char *diffuse,
|
||||
const char *tangent);
|
||||
Model load_obj_file(Arena *arena, const char *filename, const char *diffuse, const char *tangent);
|
||||
|
||||
#endif // OBJ_H
|
||||
|
@ -16,14 +16,11 @@ struct triangle_bbox {
|
||||
u64 y1;
|
||||
};
|
||||
|
||||
internal void render_triangle(const Triangle *triangle, const Model *model,
|
||||
ShaderID shader, Render *render,
|
||||
RenderType render_type, Colour colour);
|
||||
internal void fill_triangle(Render *render, ShaderID shader,
|
||||
VertexData vertices[TRIANGLE_VERTICES],
|
||||
internal void render_triangle(const Triangle *triangle, const Model *model, ShaderID shader,
|
||||
Render *render, RenderType render_type, Colour colour);
|
||||
internal void fill_triangle(Render *render, ShaderID shader, VertexData vertices[TRIANGLE_VERTICES],
|
||||
Colour colour, const Model *model, RenderType type);
|
||||
internal TriangleBBox get_triangle_bbox(const Image *img,
|
||||
V2f vertices[TRIANGLE_VERTICES]);
|
||||
internal TriangleBBox get_triangle_bbox(const Image *img, V2f vertices[TRIANGLE_VERTICES]);
|
||||
internal V3f get_barycentric_coords(V2f a, V2f b, V2f c, V2f p);
|
||||
internal V2f get_viewport_vertex(const V3f *vertex, const Image *img);
|
||||
|
||||
@ -53,9 +50,8 @@ void render_model(const Model *model, Render *render, ShaderID shader,
|
||||
}
|
||||
}
|
||||
|
||||
internal void render_triangle(const Triangle *triangle, const Model *model,
|
||||
ShaderID shader, Render *render,
|
||||
RenderType render_type, Colour colour) {
|
||||
internal void render_triangle(const Triangle *triangle, const Model *model, ShaderID shader,
|
||||
Render *render, RenderType render_type, Colour colour) {
|
||||
Image *img = &(render->img);
|
||||
VertexData vertices[TRIANGLE_VERTICES];
|
||||
for (u64 i = 0; i < TRIANGLE_VERTICES; ++i) {
|
||||
@ -80,10 +76,8 @@ internal void render_triangle(const Triangle *triangle, const Model *model,
|
||||
}
|
||||
}
|
||||
|
||||
internal void fill_triangle(Render *render, ShaderID shader,
|
||||
VertexData vertices[TRIANGLE_VERTICES],
|
||||
Colour colour, const Model *model,
|
||||
RenderType type) {
|
||||
internal void fill_triangle(Render *render, ShaderID shader, VertexData vertices[TRIANGLE_VERTICES],
|
||||
Colour colour, const Model *model, RenderType type) {
|
||||
Image *img = &(render->img);
|
||||
Depth *depth = &(render->depth);
|
||||
|
||||
@ -131,8 +125,7 @@ internal void fill_triangle(Render *render, ShaderID shader,
|
||||
}
|
||||
}
|
||||
|
||||
internal TriangleBBox get_triangle_bbox(const Image *img,
|
||||
V2f vertices[TRIANGLE_VERTICES]) {
|
||||
internal TriangleBBox get_triangle_bbox(const Image *img, V2f vertices[TRIANGLE_VERTICES]) {
|
||||
f32 x0 = min(vertices[0].x, min(vertices[1].x, vertices[2].x));
|
||||
f32 x1 = max(vertices[0].x, max(vertices[1].x, vertices[2].x));
|
||||
f32 y0 = min(vertices[0].y, min(vertices[1].y, vertices[2].y));
|
||||
|
@ -4,8 +4,7 @@
|
||||
#include "shader.h"
|
||||
#include "utils.h"
|
||||
|
||||
VertexData depth_shader_vertex(void *shader, const VertexData *vert, u8 index,
|
||||
const Model *model) {
|
||||
VertexData depth_shader_vertex(void *shader, const VertexData *vert, u8 index, const Model *model) {
|
||||
DepthShader *shdr = (DepthShader *)shader;
|
||||
|
||||
V4f vh = V3_to_V4(vert->position);
|
||||
@ -16,8 +15,8 @@ VertexData depth_shader_vertex(void *shader, const VertexData *vert, u8 index,
|
||||
return shdr->vertices[index];
|
||||
}
|
||||
|
||||
FragmentResult depth_shader_fragment(void *shader, const V3f *barycentric,
|
||||
const Colour *colour, const Model *model) {
|
||||
FragmentResult depth_shader_fragment(void *shader, const V3f *barycentric, const Colour *colour,
|
||||
const Model *model) {
|
||||
DepthShader *shdr = (DepthShader *)shader;
|
||||
|
||||
// clang-format off
|
||||
|
@ -10,9 +10,8 @@ struct depth_shader {
|
||||
#include "shader_base.inc"
|
||||
};
|
||||
|
||||
VertexData depth_shader_vertex(void *shader, const VertexData *vert, u8 index,
|
||||
VertexData depth_shader_vertex(void *shader, const VertexData *vert, u8 index, const Model *model);
|
||||
FragmentResult depth_shader_fragment(void *shader, const V3f *barycentric, const Colour *colour,
|
||||
const Model *model);
|
||||
FragmentResult depth_shader_fragment(void *shader, const V3f *barycentric,
|
||||
const Colour *colour, const Model *model);
|
||||
|
||||
#endif // !DEPTH_SHADER_H
|
||||
|
@ -4,8 +4,7 @@
|
||||
#include "utils.h"
|
||||
#include "vec.h"
|
||||
|
||||
VertexData general_shader_vertex(void *shader, const VertexData *vert, u8 index,
|
||||
const Model *model) {
|
||||
VertexData general_shader_vertex(void *shader, const VertexData *vert, u8 index, const Model *model) {
|
||||
Shader *shdr = (Shader *)shader;
|
||||
|
||||
V4f vh = V3_to_V4(vert->position);
|
||||
@ -24,8 +23,7 @@ VertexData general_shader_vertex(void *shader, const VertexData *vert, u8 index,
|
||||
return shdr->vertices[index];
|
||||
}
|
||||
|
||||
FragmentResult diffuse_shader_fragment(void *shader, const V3f *barycentric,
|
||||
const Colour *colour,
|
||||
FragmentResult diffuse_shader_fragment(void *shader, const V3f *barycentric, const Colour *colour,
|
||||
const Model *model) {
|
||||
Shader *shdr = (Shader *)shader;
|
||||
|
||||
@ -104,8 +102,7 @@ FragmentResult diffuse_shader_fragment(void *shader, const V3f *barycentric,
|
||||
return (FragmentResult){.colour = output};
|
||||
}
|
||||
|
||||
FragmentResult albedo_shader_fragment(void *shader, const V3f *barycentric,
|
||||
const Colour *colour,
|
||||
FragmentResult albedo_shader_fragment(void *shader, const V3f *barycentric, const Colour *colour,
|
||||
const Model *model) {
|
||||
Shader *shdr = (Shader *)shader;
|
||||
|
||||
|
@ -9,11 +9,9 @@ struct shader {
|
||||
#include "shader_base.inc"
|
||||
};
|
||||
|
||||
VertexData general_shader_vertex(void *shader, const VertexData *vert, u8 index,
|
||||
VertexData general_shader_vertex(void *shader, const VertexData *vert, u8 index, const Model *model);
|
||||
FragmentResult diffuse_shader_fragment(void *shader, const V3f *barycentric, const Colour *colour,
|
||||
const Model *model);
|
||||
FragmentResult diffuse_shader_fragment(void *shader, const V3f *barycentric,
|
||||
const Colour *colour,
|
||||
FragmentResult albedo_shader_fragment(void *shader, const V3f *barycentric, const Colour *colour,
|
||||
const Model *model);
|
||||
FragmentResult albedo_shader_fragment(void *shader, const V3f *barycentric,
|
||||
const Colour *colour, const Model *model);
|
||||
#endif // !MAIN_SHADER_H
|
||||
|
@ -6,9 +6,6 @@
|
||||
|
||||
#define CAPACITY_SCALAR 4
|
||||
|
||||
internal Arena *get_temp_arena(void);
|
||||
internal void destroy_temp_arena(Arena *arena);
|
||||
|
||||
Str8 str8(Arena *arena, char *str) {
|
||||
if (!str) {
|
||||
return (Str8){0};
|
||||
|
Loading…
Reference in New Issue
Block a user