35 lines
1.0 KiB
C
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 |