Skip to content

Commit a36c1b2

Browse files
committed
Add CSM (cascaded shadow) atlas and renderer support
Introduce cascaded shadow maps (CSM) support across the renderer: add ARB vertex/fragment shadow programs, GLX-compatible program handling, FBO CSM shadow atlas creation/management, binding and texture helpers, and atlas lifecycle (create/clean/invalidate/mark rendered). Integrate CSM rendering into the backend with caster/receiver passes, view/projection setup per cascade, frustum/culling checks, and a simple cache to skip redundant rebuilds. Hook up CM_BoxTrace in client init, add GLSL/VK shader sources for CSM, and update docs/README buttons and badges. Also add packagefiles for libjpeg-turbo to subprojects.
1 parent 56a4f40 commit a36c1b2

39 files changed

Lines changed: 4597 additions & 208 deletions

.install/README.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -269,10 +269,11 @@ <h1>FnQ3</h1>
269269
<strong>FnQ3</strong> keeps retail <em>Quake III Arena</em> at the center while making the engine feel more at home on modern systems.
270270
</p>
271271
<div class="buttons">
272-
<a class="button button-primary" href="https://github.com/themuffinator/FnQ3/releases/latest">Latest release</a>
272+
<a class="button button-primary" href="https://github.com/themuffinator/FnQ3/releases/latest">Download latest</a>
273273
<a class="button button-secondary" href="#getting-started">Getting started</a>
274274
<a class="button button-secondary" href="#documentation">Documentation</a>
275-
<a class="button button-secondary" href="#credits">Credits</a>
275+
<a class="button button-secondary" href="https://github.com/themuffinator/FnQ3/blob/main/BUILD.md">Build guide</a>
276+
<a class="button button-secondary" href="LICENSE">License</a>
276277
</div>
277278
<div class="stats">
278279
<article class="card">

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44
### Fappin' and Fraggin'
55

66
<p>
7-
<a href="https://github.com/themuffinator/FnQ3/releases/latest"><img alt="Latest Release" src="https://img.shields.io/badge/Latest-Release-2563eb?style=for-the-badge"></a>
8-
<a href="#3-getting-started"><img alt="Getting Started" src="https://img.shields.io/badge/Getting-Started-16a34a?style=for-the-badge"></a>
9-
<a href="#4-documentation"><img alt="Documentation" src="https://img.shields.io/badge/Documentation-7c3aed?style=for-the-badge"></a>
10-
<a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/License-GPL--2.0-c2410c?style=for-the-badge"></a>
7+
<a href="https://github.com/themuffinator/FnQ3/releases/latest"><img alt="Download Latest Release" src="https://img.shields.io/badge/Download-Latest-2563eb?style=for-the-badge&logo=github&logoColor=white"></a>
8+
<a href="#3-getting-started"><img alt="Quick Start" src="https://img.shields.io/badge/Quick-Start-16a34a?style=for-the-badge"></a>
9+
<a href="#4-documentation"><img alt="Player Documentation" src="https://img.shields.io/badge/Player-Docs-7c3aed?style=for-the-badge"></a>
10+
<a href="BUILD.md"><img alt="Build Guide" src="https://img.shields.io/badge/Build-Guide-f59e0b?style=for-the-badge"></a>
11+
<a href="LICENSE"><img alt="GPL-2.0 License" src="https://img.shields.io/badge/License-GPL--2.0-c2410c?style=for-the-badge"></a>
1112
</p>
1213

1314
*Compatibility target: Retail Quake III Arena 1.32 · Base version: `0.1.0` · Current build: `0.1.0`*

code/client/cl_main.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3693,6 +3693,7 @@ static void CL_InitRef( void ) {
36933693
rimp.Hunk_FreeTempMemory = Hunk_FreeTempMemory;
36943694

36953695
rimp.CM_ClusterPVS = CM_ClusterPVS;
3696+
rimp.CM_BoxTrace = CM_BoxTrace;
36963697
rimp.CM_DrawDebugSurface = CM_DrawDebugSurface;
36973698

36983699
rimp.FS_ReadFile = FS_ReadFile;

0 commit comments

Comments
 (0)