brender-v1.1.2/ZB/ZBIPROTO.H
2022-05-04 18:14:23 -07:00

231 lines
No EOL
8.1 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* Copyright (c) 1993-1995 Argonaut Technologies Limited. All rights reserved.
*
* $Id: zbiproto.h 1.24 1995/08/31 16:47:52 sam Exp $
* $Locker: $
*
* Prototypes for functions internal to z-buffer renderer
*/
#ifndef _ZBIPROTO_H_
#define _ZBIPROTO_H_
#ifndef NO_PROTOTYPES
#ifdef __cplusplus
extern "C" {
#endif
/*
* ti8_piz.asm
*/
/*
* 8 bit indexed, perfect, integer, Z buffered (16 bit)
*/
void BR_ASM_CALL TriangleRenderPIZ2(
struct temp_vertex_fixed *v0, struct temp_vertex_fixed *v1,struct temp_vertex_fixed *v2);
void BR_ASM_CALL TriangleRenderPIZ2I(
struct temp_vertex_fixed *v0, struct temp_vertex_fixed *v1,struct temp_vertex_fixed *v2);
void BR_ASM_CALL TriangleRenderPIZ2T(
struct temp_vertex_fixed *v0, struct temp_vertex_fixed *v1,struct temp_vertex_fixed *v2);
void BR_ASM_CALL TriangleRenderPIZ2TI(
struct temp_vertex_fixed *v0, struct temp_vertex_fixed *v1,struct temp_vertex_fixed *v2);
void BR_ASM_CALL TriangleRenderPIZ2TD(
struct temp_vertex_fixed *v0, struct temp_vertex_fixed *v1,struct temp_vertex_fixed *v2);
void BR_ASM_CALL TriangleRenderPIZ2TID(
struct temp_vertex_fixed *v0, struct temp_vertex_fixed *v1,struct temp_vertex_fixed *v2);
/*
* tt24_piz.asm
*/
/*
* 24 bit true colour, perfect, integer, Z buffered (16 bit)
*/
void BR_ASM_CALL TriangleRenderPIZ2_RGB_888(
struct temp_vertex_fixed *v0, struct temp_vertex_fixed *v1, struct temp_vertex_fixed *v2);
void BR_ASM_CALL TriangleRenderPIZ2I_RGB_888(
struct temp_vertex_fixed *v0, struct temp_vertex_fixed *v1, struct temp_vertex_fixed *v2);
/*
* tt15_piz.asm
*/
/*
* 15 bit true colour, perfect, integer, Z buffered (16 bit)
*/
void BR_ASM_CALL TriangleRenderPIZ2_RGB_555(
struct temp_vertex_fixed *v0, struct temp_vertex_fixed *v1, struct temp_vertex_fixed *v2);
void BR_ASM_CALL TriangleRenderPIZ2I_RGB_555(
struct temp_vertex_fixed *v0, struct temp_vertex_fixed *v1, struct temp_vertex_fixed *v2);
/*
* perspz.c
*/
void BR_ASM_CALL TriangleRenderPIZ2TIP1024(struct temp_vertex_fixed *a,struct temp_vertex_fixed *b,struct temp_vertex_fixed *c);
void BR_ASM_CALL TriangleRenderPIZ2TIP256(struct temp_vertex_fixed *a,struct temp_vertex_fixed *b,struct temp_vertex_fixed *c);
void BR_ASM_CALL TriangleRenderPIZ2TIP64(struct temp_vertex_fixed *a,struct temp_vertex_fixed *b,struct temp_vertex_fixed *c);
void BR_ASM_CALL TriangleRenderPIZ2TP1024(struct temp_vertex_fixed *a,struct temp_vertex_fixed *b,struct temp_vertex_fixed *c);
void BR_ASM_CALL TriangleRenderPIZ2TP256(struct temp_vertex_fixed *a,struct temp_vertex_fixed *b,struct temp_vertex_fixed *c);
void BR_ASM_CALL TriangleRenderPIZ2TP64(struct temp_vertex_fixed *a,struct temp_vertex_fixed *b,struct temp_vertex_fixed *c);
void BR_ASM_CALL TriangleRenderPIZ2TPD1024(struct temp_vertex_fixed *a,struct temp_vertex_fixed *b,struct temp_vertex_fixed *c);
/*
* awtmz.c
*/
void BR_ASM_CALL TriangleRenderPIZ2TA(struct temp_vertex_fixed *a,struct temp_vertex_fixed *b,struct temp_vertex_fixed *c);
void BR_ASM_CALL TriangleRenderPIZ2TIA(struct temp_vertex_fixed *a,struct temp_vertex_fixed *b,struct temp_vertex_fixed *c);
void BR_ASM_CALL TriangleRenderPIZ2TIANT(struct temp_vertex_fixed *a,struct temp_vertex_fixed *b,struct temp_vertex_fixed *c);
void BR_ASM_CALL TriangleRenderPIZ2TA15(struct temp_vertex_fixed *a,struct temp_vertex_fixed *b,struct temp_vertex_fixed *c);
void BR_ASM_CALL TriangleRenderPIZ2TA24(struct temp_vertex_fixed *a,struct temp_vertex_fixed *b,struct temp_vertex_fixed *c);
/*
* mesh386.asm
*/
br_int_32 BR_ASM_CALL ZbOSFFVGroupCulled_A(br_face *fp, struct temp_face *tfp,int count);
br_int_32 BR_ASM_CALL ZbOSFFVGroupCulledLit_A(br_face *fp, struct temp_face *tfp,int count);
br_uint_32 BR_ASM_CALL ZbOSTVGroup_A(br_vertex *vp, struct temp_vertex_fixed *tvp,int count, br_uint_8 *countp);
br_uint_32 BR_ASM_CALL ZbOSTVGroupLit_A(br_vertex *vp, struct temp_vertex_fixed *tvp,int count, br_uint_8 *countp);
br_uint_32 BR_ASM_CALL ZbOSTVGroupBC_A(br_vertex *vp, struct temp_vertex_fixed *tvp,int count, br_uint_8 *countp);
br_uint_32 BR_ASM_CALL ZbOSTVGroupLitBC_A(br_vertex *vp, struct temp_vertex_fixed *tvp,int count, br_uint_8 *countp);
br_uint_32 BR_ASM_CALL ZbOSCopyModelToScreen_A(void);
/*
* zbmesh.c
*/
void ZbMeshRender(br_actor *actor,
br_model *model,
br_material *material,
br_uint_8 style,
int on_screen);
void ZbFindVisibleFaces(void);
void ZbFindVisibleFacesPar(void);
void ZbTransformVertices(void);
void ZbFindFacesAndVertices(void);
void ZbFindVertexParameters(void);
void BR_ASM_CALL ZbRenderFaceGroup(br_face_group *gp, struct temp_face *tfp);
void BR_ASM_CALL ZbRenderFaceGroup_FaceI(br_face_group *gp, struct temp_face *tfp);
void BR_ASM_CALL ZbRenderFaceGroup_FaceIV(br_face_group *gp, struct temp_face *tfp);
void BR_ASM_CALL ZbRenderFaceGroup_FaceRGB(br_face_group *gp, struct temp_face *tfp);
#if !BASED_FIXED
void ZbConvertComponents(br_fixed_ls *dest,br_scalar *src,br_uint_32 mask);
#endif
/*
* zbmeshp.c
*/
void ZbPointFindVertexParameters(void);
void ZbMeshRenderPoints(br_actor *actor,
br_model *model,
br_material *material,
br_uint_8 style,
int on_screen);
void BR_ASM_CALL PointRenderPIZ2(struct temp_vertex_fixed *v0);
void BR_ASM_CALL PointRenderPIZ2T(struct temp_vertex_fixed *v0);
void BR_ASM_CALL PointRenderPIZ2TI(struct temp_vertex_fixed *v0);
void BR_ASM_CALL PointRenderPIZ2_RGB_888(struct temp_vertex_fixed *v0);
void BR_ASM_CALL PointRenderPIZ2T_RGB_888(struct temp_vertex_fixed *v0);
void BR_ASM_CALL PointRenderPIZ2_RGB_555(struct temp_vertex_fixed *v0);
void BR_ASM_CALL PointRenderPIZ2T_RGB_555(struct temp_vertex_fixed *v0);
/*
* zbmeshe.c
*/
void ZbMeshRenderEdges(br_actor *actor,
br_model *model,
br_material *material,
br_uint_8 style,
int on_screen);
void BR_ASM_CALL LineRenderPIZ2I(struct temp_vertex_fixed *v0,struct temp_vertex_fixed *v1);
void BR_ASM_CALL LineRenderPIZ2T(struct temp_vertex_fixed *v0,struct temp_vertex_fixed *v1);
void BR_ASM_CALL LineRenderPIZ2TI(struct temp_vertex_fixed *v0,struct temp_vertex_fixed *v1);
void BR_ASM_CALL LineRenderPFZ2I(struct temp_vertex_fixed *v0,struct temp_vertex_fixed *v1);
void BR_ASM_CALL LineRenderPFZ2I555(struct temp_vertex_fixed *v0,struct temp_vertex_fixed *v1);
void BR_ASM_CALL LineRenderPFZ2I888(struct temp_vertex_fixed *v0,struct temp_vertex_fixed *v1);
void BR_ASM_CALL LineRenderPFZ4I(struct temp_vertex_fixed *v0,struct temp_vertex_fixed *v1);
void BR_ASM_CALL LineRenderPIZ2T_RGB_888(struct temp_vertex_fixed *v0,struct temp_vertex_fixed *v1);
void BR_ASM_CALL LineRenderPIZ2I_RGB_888(struct temp_vertex_fixed *v0,struct temp_vertex_fixed *v1);
void BR_ASM_CALL LineRenderPIZ2T_RGB_555(struct temp_vertex_fixed *v0,struct temp_vertex_fixed *v1);
void BR_ASM_CALL LineRenderPIZ2I_RGB_555(struct temp_vertex_fixed *v0,struct temp_vertex_fixed *v1);
/*
* zbrendr.c
*/
void ZbNullRender(br_actor *actor,
br_model *model,
br_material *material,
br_uint_8 style,
int on_screen);
/*
* bbox.c
*/
void ZbBoundingBoxRenderPoints(br_actor *actor,
br_model *model,
br_material *material,
br_uint_8 style,
int on_screen);
void ZbBoundingBoxRenderEdges(br_actor *actor,
br_model *model,
br_material *material,
br_uint_8 style,
int on_screen);
void ZbBoundingBoxRenderFaces(br_actor *actor,
br_model *model,
br_material *material,
br_uint_8 style,
int on_screen);
void StartBoundingBox(int on_screen);
void EndBoundingBox(int on_screen);
/*
* zbclip.c
*/
struct clip_vertex *ZbFaceClip(br_face *fp, struct temp_face *tfp, int mask,int *n_out);
struct clip_vertex *ZbTempClip(struct temp_vertex *tvp, struct temp_face *tfp, int mask,int *n_out);
/*
* zbmatl.c
*/
void ZbMaterialUpdate(br_material *mat, br_uint_16 flags);
/*
* sar16.asm
*/
int BR_ASM_CALL _sar16(int a);
/*
* decalz.c
*/
void BR_ASM_CALL TriangleRenderPIZ2TAD(struct temp_vertex_fixed *a,struct temp_vertex_fixed *b,struct temp_vertex_fixed *c);
void BR_ASM_CALL TriangleRenderPIZ2TIAD(struct temp_vertex_fixed *a,struct temp_vertex_fixed *b,struct temp_vertex_fixed *c);
#ifdef __cplusplus
};
#endif
#endif
#endif