ioquake / ioq3

The ioquake3 community effort to continue supporting/developing id's Quake III Arena
https://ioquake3.org/
GNU General Public License v2.0
2.38k stars 527 forks source link

General thoughts on enhancements #593

Closed IcyChills closed 1 year ago

IcyChills commented 1 year ago

I've been messing with the OGL2 rendering and find the rendering capable with some minor issues, despite the issues I'm impressed with how far ioq3 has come over the years. I'm going through the code to see if I can make some changes. Some plans, ideas and things in progress. Let me know if there are any concerns or objections or suggestions.

I'll have my fork up on github soon, just note I'm using Cmake for my project with some file/folder restructure. Base custom assets will be included in the repo, the PBR texture overhaul most likely will go on moddb.

Cubemaps not merging or clamping correctly with other surfaces on the neighbour brushes and cubemap output images having weird positions to the scene. Maybe a dynamically updated cubemap probe on the player which updates the reflections, not sure how expensive that will be.

SSAO rendering on top of fog and transparent surfaces. Not sure if a depth issue, tried changing some things, but ended up breaking the depth buffer, will have to study the rendering some more.

PBR images, adding support for RGBA channel packed textures to save on asset size and memory use. Still need to study the material system. Wrote a small cli app in C to take in roughness, metallic, heightmap and ambient occlusion maps and pack them to a image in that order. Possibly an alternative material system to make workflow easier with Blender BRDF material.

Fog with 3D Textures to add more atmosphere instead of the plain solid looking fog.

Water enhancement, I feel their would be more tension underwater if it has some fog or murkiness to obscure player vision.

Skybox enhancements, the sun is way too big, still looking where to change the size. Add HDR environment support to give lighting to the scene. Also another option is dynamic sky with day/night cycle and particle based clouds.

Adding gltf2 model support since I'm always fighting with MD3 addons when Blender updates break older scripts.

Modernizing the particles to look realistic and behave realistically.

A clean modern menu system overhaul. I think the user experience can be improved with less navigation time and cleaner graphics. I've updated the code to use a higher resolution font sheet and have made a template in Affinity Designer create new sheets.

IcyChills commented 1 year ago

I joined the discourse group. Will discuss this there instead.

Calinou commented 1 year ago

Water enhancement, I feel their would be more tension underwater if it has some fog or murkiness to obscure player vision.

This can be done by the map itself in vanilla Quake 3 already (by having a fog volume in the same location as the water brush).