mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-01-31 13:10:34 +00:00
[vulkan] Add some comments and clean some code
Figuring out bsp rendering for shadows is a fair bit harder than expected :P
This commit is contained in:
parent
f1ac8f2460
commit
49afdde77f
1 changed files with 13 additions and 6 deletions
|
@ -722,6 +722,10 @@ R_VisitWorldNodes (mod_brush_t *brush, vulkan_ctx_t *ctx)
|
|||
node = front;
|
||||
continue;
|
||||
}
|
||||
// front is either not a node (ie, is a leaf) or is not visible
|
||||
// if node is visible, then at least one of its child nodes
|
||||
// must also be visible, and a leaf child in front of the node
|
||||
// will be visible, so no need for vis checks on a leaf
|
||||
if (front->contents < 0 && front->contents != CONTENTS_SOLID)
|
||||
visit_leaf ((mleaf_t *) front);
|
||||
visit_node (brush, node, side, ctx);
|
||||
|
@ -1030,8 +1034,7 @@ add_surf_elements (vulktex_t *tex, instsurf_t *is,
|
|||
elechain_t **ec, elements_t **el,
|
||||
bspctx_t *bctx, bspframe_t *bframe)
|
||||
{
|
||||
msurface_t *surf = is->surface;
|
||||
bsppoly_t *poly = (bsppoly_t *) surf->polys;
|
||||
bsppoly_t *poly = (bsppoly_t *) is->surface->polys;
|
||||
|
||||
if (!tex->elechain) {
|
||||
(*ec) = add_elechain (tex, bctx);
|
||||
|
@ -1061,6 +1064,8 @@ build_tex_elechain (vulktex_t *tex, bspctx_t *bctx, bspframe_t *bframe)
|
|||
elements_t *el = 0;
|
||||
|
||||
for (is = tex->tex_chain; is; is = is->tex_chain) {
|
||||
// emit the polygon indices for the the surface to the texture's
|
||||
// element chain
|
||||
add_surf_elements (tex, is, &ec, &el, bctx, bframe);
|
||||
}
|
||||
}
|
||||
|
@ -1157,7 +1162,6 @@ Vulkan_DrawWaterSurfaces (vulkan_ctx_t *ctx)
|
|||
bspctx_t *bctx = ctx->bsp_context;
|
||||
bspframe_t *bframe = &bctx->frames.a[ctx->curFrame];
|
||||
instsurf_t *is;
|
||||
msurface_t *surf;
|
||||
vulktex_t *tex = 0;
|
||||
elechain_t *ec = 0;
|
||||
elements_t *el = 0;
|
||||
|
@ -1172,7 +1176,7 @@ Vulkan_DrawWaterSurfaces (vulkan_ctx_t *ctx)
|
|||
push_fragconst (&frag_constants, bctx->layout, dfunc,
|
||||
bframe->cmdSet.a[QFV_bspTurb]);
|
||||
for (is = bctx->waterchain; is; is = is->tex_chain) {
|
||||
surf = is->surface;
|
||||
msurface_t *surf = is->surface;
|
||||
if (tex != surf->texinfo->texture->render) {
|
||||
if (tex) {
|
||||
bind_view (qfv_bsp_texture,
|
||||
|
@ -1190,6 +1194,8 @@ Vulkan_DrawWaterSurfaces (vulkan_ctx_t *ctx)
|
|||
}
|
||||
tex = surf->texinfo->texture->render;
|
||||
}
|
||||
// emit the polygon indices for the the surface to the texture's
|
||||
// element chain
|
||||
add_surf_elements (tex, is, &ec, &el, bctx, bframe);
|
||||
}
|
||||
if (tex) {
|
||||
|
@ -1218,7 +1224,6 @@ Vulkan_DrawSky (vulkan_ctx_t *ctx)
|
|||
bspctx_t *bctx = ctx->bsp_context;
|
||||
bspframe_t *bframe = &bctx->frames.a[ctx->curFrame];
|
||||
instsurf_t *is;
|
||||
msurface_t *surf;
|
||||
vulktex_t *tex = 0;
|
||||
elechain_t *ec = 0;
|
||||
elements_t *el = 0;
|
||||
|
@ -1233,7 +1238,7 @@ Vulkan_DrawSky (vulkan_ctx_t *ctx)
|
|||
push_fragconst (&frag_constants, bctx->layout, dfunc,
|
||||
bframe->cmdSet.a[QFV_bspSky]);
|
||||
for (is = bctx->sky_chain; is; is = is->tex_chain) {
|
||||
surf = is->surface;
|
||||
msurface_t *surf = is->surface;
|
||||
if (tex != surf->texinfo->texture->render) {
|
||||
if (tex) {
|
||||
bind_view (qfv_bsp_skysheet,
|
||||
|
@ -1251,6 +1256,8 @@ Vulkan_DrawSky (vulkan_ctx_t *ctx)
|
|||
}
|
||||
tex = surf->texinfo->texture->render;
|
||||
}
|
||||
// emit the polygon indices for the the surface to the texture's
|
||||
// element chain
|
||||
add_surf_elements (tex, is, &ec, &el, bctx, bframe);
|
||||
}
|
||||
if (tex) {
|
||||
|
|
Loading…
Reference in a new issue