fxengine/include/render/triangle.h

35 lines
1.0 KiB
C

#ifndef RENDER_TRIANGLE
#define RENDER_TRIANGLE
#include <fxengine/model/vertex.h>
#include <fxengine/model/bitmap.h>
#include <stdbool.h>
// ERR CODES
#define RENDER_SUCCESSFULLY_RENDERED 0
#define RENDER_NOBMP -1
#define RENDER_OUT_OF_SCREEN -2
#define RENDER_INVISIBLE -3
#define RENDER_DEBUG_MODE
/* render_triangle()
renders a face supporting backface culling, or dual textures */
int render_triangle(fe_vertex const s1, fe_vertex const s2, fe_vertex const s3,
fe_bitmap const * side_0, fe_bitmap const * side_1, bool texture_half);
/* render_triangle_nobfc()
renders a face without backface culling */
int render_triangle_nobfc(fe_vertex const s1, fe_vertex const s2, fe_vertex const s3,
fe_bitmap const * side, bool texture_half);
// Object overlay
#include <render/triangle.h>
#include <fxengine/model/triangle.h>
void fe_display_triangle(const fe_triangle * face)
{
render_triangle(face->s1->translated, face->s2->translated, face->s3->translated, face->texture1, face->texture2, face->texture_half);
}
#endif