Fix some render issues
This commit is contained in:
parent
6e5c516084
commit
121ca8a2f2
2
Makefile
2
Makefile
|
@ -208,6 +208,8 @@ build/src/scene/portal_render.o: $(MODEL_HEADERS)
|
||||||
|
|
||||||
build/src/player/player.o: build/assets/models/player/chell.h build/assets/materials/static.h
|
build/src/player/player.o: build/assets/models/player/chell.h build/assets/materials/static.h
|
||||||
|
|
||||||
|
build/assets/models/player/chell.h: assets/materials/chell.skm.yaml
|
||||||
|
|
||||||
build/anims.ld: $(ANIM_LIST) tools/generate_animation_ld.js
|
build/anims.ld: $(ANIM_LIST) tools/generate_animation_ld.js
|
||||||
@mkdir -p $(@D)
|
@mkdir -p $(@D)
|
||||||
node tools/generate_animation_ld.js $@ $(ANIM_LIST)
|
node tools/generate_animation_ld.js $@ $(ANIM_LIST)
|
||||||
|
|
|
@ -3,45 +3,61 @@ materials:
|
||||||
gDPSetTile:
|
gDPSetTile:
|
||||||
filename: ./models/player/chell_face.png
|
filename: ./models/player/chell_face.png
|
||||||
siz: G_IM_SIZ_16b
|
siz: G_IM_SIZ_16b
|
||||||
|
s:
|
||||||
|
wrap: false
|
||||||
|
t:
|
||||||
|
wrap: false
|
||||||
|
|
||||||
gDPSetCombineMode: G_CC_MODULATEI
|
gDPSetCombineMode: G_CC_MODULATEI
|
||||||
gDPSetCycleType: G_CYC_1CYCLE
|
gDPSetCycleType: G_CYC_1CYCLE
|
||||||
|
|
||||||
gSPGeometryMode:
|
gSPGeometryMode:
|
||||||
set: [G_LIGHTING, G_SHADE]
|
set: [G_LIGHTING, G_SHADE, G_CULL_BACK]
|
||||||
|
|
||||||
chell_head:
|
chell_head:
|
||||||
gDPSetTile:
|
gDPSetTile:
|
||||||
filename: ./models/player/chell_head.png
|
filename: ./models/player/chell_head.png
|
||||||
siz: G_IM_SIZ_16b
|
siz: G_IM_SIZ_16b
|
||||||
|
s:
|
||||||
|
wrap: false
|
||||||
|
t:
|
||||||
|
wrap: false
|
||||||
|
|
||||||
gDPSetCombineMode: G_CC_MODULATEI
|
gDPSetCombineMode: G_CC_MODULATEI
|
||||||
gDPSetCycleType: G_CYC_1CYCLE
|
gDPSetCycleType: G_CYC_1CYCLE
|
||||||
|
|
||||||
gSPGeometryMode:
|
gSPGeometryMode:
|
||||||
set: [G_LIGHTING, G_SHADE]
|
set: [G_LIGHTING, G_SHADE, G_CULL_BACK]
|
||||||
|
|
||||||
chell_pants:
|
chell_pants:
|
||||||
gDPSetTile:
|
gDPSetTile:
|
||||||
filename: ./models/player/chell_pants.png
|
filename: ./models/player/chell_pants.png
|
||||||
siz: G_IM_SIZ_16b
|
siz: G_IM_SIZ_16b
|
||||||
|
s:
|
||||||
|
wrap: false
|
||||||
|
t:
|
||||||
|
wrap: false
|
||||||
|
|
||||||
gDPSetCombineMode: G_CC_MODULATEI
|
gDPSetCombineMode: G_CC_MODULATEI
|
||||||
gDPSetCycleType: G_CYC_1CYCLE
|
gDPSetCycleType: G_CYC_1CYCLE
|
||||||
|
|
||||||
gSPGeometryMode:
|
gSPGeometryMode:
|
||||||
set: [G_LIGHTING, G_SHADE]
|
set: [G_LIGHTING, G_SHADE, G_CULL_BACK]
|
||||||
|
|
||||||
chell_shirt:
|
chell_shirt:
|
||||||
gDPSetTile:
|
gDPSetTile:
|
||||||
filename: ./models/player/chell_shirt.png
|
filename: ./models/player/chell_shirt.png
|
||||||
siz: G_IM_SIZ_16b
|
siz: G_IM_SIZ_16b
|
||||||
|
s:
|
||||||
|
wrap: false
|
||||||
|
t:
|
||||||
|
wrap: false
|
||||||
|
|
||||||
gDPSetCombineMode: G_CC_MODULATEI
|
gDPSetCombineMode: G_CC_MODULATEI
|
||||||
gDPSetCycleType: G_CYC_1CYCLE
|
gDPSetCycleType: G_CYC_1CYCLE
|
||||||
|
|
||||||
gSPGeometryMode:
|
gSPGeometryMode:
|
||||||
set: [G_LIGHTING, G_SHADE]
|
set: [G_LIGHTING, G_SHADE, G_CULL_BACK]
|
||||||
|
|
||||||
chell_neck:
|
chell_neck:
|
||||||
gDPSetCombineMode:
|
gDPSetCombineMode:
|
||||||
|
@ -56,7 +72,7 @@ materials:
|
||||||
a: 255
|
a: 255
|
||||||
|
|
||||||
gSPGeometryMode:
|
gSPGeometryMode:
|
||||||
set: [G_LIGHTING, G_SHADE]
|
set: [G_LIGHTING, G_SHADE, G_CULL_BACK]
|
||||||
|
|
||||||
chell_arm:
|
chell_arm:
|
||||||
gDPSetTile:
|
gDPSetTile:
|
||||||
|
@ -75,7 +91,7 @@ materials:
|
||||||
a: 255
|
a: 255
|
||||||
|
|
||||||
gSPGeometryMode:
|
gSPGeometryMode:
|
||||||
set: [G_LIGHTING, G_SHADE]
|
set: [G_LIGHTING, G_SHADE, G_CULL_BACK]
|
||||||
|
|
||||||
chell_leg:
|
chell_leg:
|
||||||
gDPSetTile:
|
gDPSetTile:
|
||||||
|
@ -94,7 +110,7 @@ materials:
|
||||||
a: 255
|
a: 255
|
||||||
|
|
||||||
gSPGeometryMode:
|
gSPGeometryMode:
|
||||||
set: [G_LIGHTING, G_SHADE]
|
set: [G_LIGHTING, G_SHADE, G_CULL_BACK]
|
||||||
|
|
||||||
chell_boots_white:
|
chell_boots_white:
|
||||||
gDPSetTile:
|
gDPSetTile:
|
||||||
|
@ -113,7 +129,7 @@ materials:
|
||||||
a: 255
|
a: 255
|
||||||
|
|
||||||
gSPGeometryMode:
|
gSPGeometryMode:
|
||||||
set: [G_LIGHTING, G_SHADE]
|
set: [G_LIGHTING, G_SHADE, G_CULL_BACK]
|
||||||
|
|
||||||
chell_boots_black:
|
chell_boots_black:
|
||||||
gDPSetTile:
|
gDPSetTile:
|
||||||
|
@ -133,3 +149,4 @@ materials:
|
||||||
|
|
||||||
gSPGeometryMode:
|
gSPGeometryMode:
|
||||||
set: [G_LIGHTING, G_SHADE]
|
set: [G_LIGHTING, G_SHADE]
|
||||||
|
clear: [G_CULL_BACK]
|
|
@ -186,12 +186,6 @@ int renderPlanPortal(struct RenderPlan* renderPlan, struct Scene* scene, struct
|
||||||
renderPlan->clippedPortalIndex = portalIndex;
|
renderPlan->clippedPortalIndex = portalIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (current->clippingPortalIndex == portalIndex) {
|
|
||||||
next->minX = 0;
|
|
||||||
next->maxX = SCREEN_WD;
|
|
||||||
next->minY = 0;
|
|
||||||
next->maxY = SCREEN_HT;
|
|
||||||
} else {
|
|
||||||
next->minX = CALC_SCREEN_SPACE(clippingBounds.min.x, SCREEN_WD);
|
next->minX = CALC_SCREEN_SPACE(clippingBounds.min.x, SCREEN_WD);
|
||||||
next->maxX = CALC_SCREEN_SPACE(clippingBounds.max.x, SCREEN_WD);
|
next->maxX = CALC_SCREEN_SPACE(clippingBounds.max.x, SCREEN_WD);
|
||||||
next->minY = CALC_SCREEN_SPACE(-clippingBounds.max.y, SCREEN_HT);
|
next->minY = CALC_SCREEN_SPACE(-clippingBounds.max.y, SCREEN_HT);
|
||||||
|
@ -201,7 +195,6 @@ int renderPlanPortal(struct RenderPlan* renderPlan, struct Scene* scene, struct
|
||||||
next->maxX = MIN(next->maxX, current->maxX);
|
next->maxX = MIN(next->maxX, current->maxX);
|
||||||
next->minY = MAX(next->minY, current->minY);
|
next->minY = MAX(next->minY, current->minY);
|
||||||
next->maxY = MIN(next->maxY, current->maxY);
|
next->maxY = MIN(next->maxY, current->maxY);
|
||||||
}
|
|
||||||
|
|
||||||
struct RenderProps* prevSibling = prevSiblingPtr ? *prevSiblingPtr : NULL;
|
struct RenderProps* prevSibling = prevSiblingPtr ? *prevSiblingPtr : NULL;
|
||||||
|
|
||||||
|
@ -398,18 +391,6 @@ void renderPlanAdjustViewportDepth(struct RenderPlan* renderPlan) {
|
||||||
short minZ = zBufferBoundary[current->currentDepth + 1];
|
short minZ = zBufferBoundary[current->currentDepth + 1];
|
||||||
short maxZ = zBufferBoundary[current->currentDepth];
|
short maxZ = zBufferBoundary[current->currentDepth];
|
||||||
|
|
||||||
if (current->maxZOverlap <= -1.0f) {
|
|
||||||
maxZ = G_MAXZ;
|
|
||||||
} else {
|
|
||||||
float newZ = 0.5f * (float)maxZ / (current->maxZOverlap + 1.0f);
|
|
||||||
|
|
||||||
if (newZ >= G_MAXZ) {
|
|
||||||
maxZ = G_MAXZ;
|
|
||||||
} else {
|
|
||||||
maxZ = (short)newZ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
current->viewport->vp.vscale[2] = (maxZ - minZ) >> 1;
|
current->viewport->vp.vscale[2] = (maxZ - minZ) >> 1;
|
||||||
current->viewport->vp.vtrans[2] = (maxZ + minZ) >> 1;
|
current->viewport->vp.vtrans[2] = (maxZ + minZ) >> 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue