Skip to content

Commit

Permalink
Worked out multiple renderers
Browse files Browse the repository at this point in the history
  • Loading branch information
EPICGameGuy committed Dec 14, 2023
1 parent f91ee3a commit bcf4b2c
Show file tree
Hide file tree
Showing 8 changed files with 7 additions and 25 deletions.
Binary file modified assets/models/plane.fbx
Binary file not shown.
3 changes: 2 additions & 1 deletion src/Makefile.vuprogs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
RENDERERS = \
vertex_color_renderer
vertex_color_renderer \
vertex_color_vegetation_renderer

EE_OBJS += $(addsuffix .vo, $(addprefix vu1/, $(RENDERERS)))
VSM_SOURCES = $(addsuffix _vcl.vsm, $(addprefix vu1/, $(RENDERERS)))
Expand Down
6 changes: 0 additions & 6 deletions src/renderer/ps2gl_renderers/vertex_color_renderer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,6 @@ void CVertexColorRenderer::InitContext(GLenum primType, tU32 rcChanges, bool use
GS::tPrim prim = {prim_type : primType, iip : smoothShading, tme : useTexture, fge : 0, abe : alpha, aa1 : 0, fst : 0, ctxt : 0, fix : 0};
tGifTag giftag = {NLOOP : 0, EOP : 1, pad0 : 0, id : 0, PRE : 1, PRIM : *(tU64*)&prim, FLG : 0, NREG : nreg, REGS0 : 2, REGS1 : 1, REGS2 : 4};

packet.Pad96();

packet.OpenUnpack(Vifs::UnpackModes::s_32, kIsVegetation, Packet::kSingleBuff);
packet += (s32)0;
packet.CloseUnpack(1);

packet.Mscal(0);
packet.Flushe();

Expand Down
12 changes: 3 additions & 9 deletions src/renderer/ps2gl_renderers/vertex_color_vegetation_renderer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@
#include "engine.hpp"

extern "C" {
VU_FUNCTIONS(VertexColorRenderer);
VU_FUNCTIONS(VertexColorVegetationRenderer);
}

CVertexColorVegetationRenderer::CVertexColorVegetationRenderer()
: CCustomRendererBase(mVsmAddr(VertexColorRenderer), mVsmSize(VertexColorRenderer), 4, 3,
: CCustomRendererBase(mVsmAddr(VertexColorVegetationRenderer), mVsmSize(VertexColorVegetationRenderer), 4, 3,
kInputStart,
kInputBufSize - kInputStart,
"Vertex color vegetation renderer")
Expand Down Expand Up @@ -67,8 +67,6 @@ void CVertexColorVegetationRenderer::InitContext(GLenum primType, tU32 rcChanges
CVifSCDmaPacket& packet = glContext.GetVif1Packet();
CImmDrawContext& drawContext = glContext.GetImmDrawContext();

drawContext.DrawEnv->SetFogColor(128, 128, 128);

packet.Cnt();
{
AddVu1RendererContext(packet, primType, kContextStart);
Expand All @@ -81,15 +79,11 @@ void CVertexColorVegetationRenderer::InitContext(GLenum primType, tU32 rcChanges
bool alpha = drawContext.GetBlendEnabled();
unsigned int nreg = OutputQuadsPerVert;

GS::tPrim prim = {prim_type : primType, iip : smoothShading, tme : useTexture, fge : 1, abe : alpha, aa1 : 0, fst : 0, ctxt : 0, fix : 0};
GS::tPrim prim = {prim_type : primType, iip : smoothShading, tme : useTexture, fge : 0, abe : alpha, aa1 : 0, fst : 0, ctxt : 0, fix : 0};
tGifTag giftag = {NLOOP : 0, EOP : 1, pad0 : 0, id : 0, PRE : 1, PRIM : *(tU64*)&prim, FLG : 0, NREG : nreg, REGS0 : 2, REGS1 : 1, REGS2 : 4};

packet.Pad96();

packet.OpenUnpack(Vifs::UnpackModes::s_32, kIsVegetation, Packet::kSingleBuff);
packet += (s32)1;
packet.CloseUnpack(1);

packet.OpenUnpack(Vifs::UnpackModes::s_32, kVegetationParams, Packet::kSingleBuff);
packet += get_veg_p(0.f);
packet += get_veg_p(M_PI / 6.f);
Expand Down
Binary file modified vu1/vertex_color_renderer.vo
Binary file not shown.
4 changes: 1 addition & 3 deletions vu1/vertex_color_renderer_context.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,6 @@ typedef struct

#define kClipInfo (kGifTag + 1)

#define kIsVegetation (kClipInfo + 1)

#define kVegetationParams (kIsVegetation + 1)
#define kVegetationParams (kClipInfo + 1)

#define kContextLength (kVegetationParams - kContextStart + 6)
7 changes: 1 addition & 6 deletions vu1/vertex_color_vegetation_renderer.vcl
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ kOutputQPerV .equ 3
.init_vf_all
.init_vi_all

.name vsmVertexColorRenderer
.name vsmVertexColorVegetationRenderer

--enter
--endenter
Expand Down Expand Up @@ -65,11 +65,6 @@ xform_loop_lid: --LoopCS 1,3
store_rgba vert_color

; Wind
; Skip the vegetation stuff if this isn't rendering vegetation
;ilw.x is_vegetation, kIsVegetation(vi00)
;ibeq is_vegetation, vi00, project_lid
; Wind
; Lookup the leaf index from the vertex color
ilw.x leaf_index, 3(next_input)

Expand Down
Binary file added vu1/vertex_color_vegetation_renderer.vo
Binary file not shown.

0 comments on commit bcf4b2c

Please sign in to comment.