ezQuake 3.5-alpha18
Pre-release
Pre-release
meag
released this
22 Jan 00:18
·
76 commits
to meag/renderer
since this release
READ FIRST
Major rendering engine update, expect lots of bugs, DO NOT USE for important games. It has had very limited testing and isn't ready yet.
Source-code if you want to build on other systems is available here, process to build is:
git clone https://github.com/meag/ezquake-source new-renderer
cd new-renderer
git checkout meag/renderer
make clean && CLASSIC_OPENGL_ONLY=1 make -j3
make clean && MODERN_OPENGL_ONLY=1 make -j3
Official changelog and individual 3.5 version changelogs moved to here
Lots of changes to classic in this version - started adding GLSL rendering to classic renderer for instance, it also uses texture arrays for lightmaps. Might have more issues on particular cards or configs than usual.
Changes/fixes in latest release
- ciscon: r_drawflat bugged on modern
-
/vid_framebuffer 1
,/vid_framebuffer_scale 0
&/vid_framebuffer_width 0
produces rendering bugs (potential wallhack-like effect) - during vid_restart the buffers can be recreated in a different order which causes problems & potential crash
Todo list for next build
- ciscon: classic rendering bugged (multi-renderer build only)
- sae: particles can disappear (was when
/r_particles_count
limit set > 2048, and then > 2048 particles - two explosions with/r_explosiontype 0
+ a rocket trail) - turning off all
/r_smooth*
cvars disables hud rendering - missing tracker images causes crash on map load
- changing
/gl_modulate
updates all lightmaps immediately (old bug) - programs should compile ahead of being used, otherwise stuttery performance the first time a program is used in a scene
-
/gl_program_world
and lightmaps in texture array is broken (need to make gl_program_world dictate if texture arrays are used, require vid_restart?) - removed functionality: velocity3d
- .md3 models could cause application crash (incorrectly measuring size prior to populating vbo)
- .md3 viewmodels should have depth buffer hack
- .md3 models have more flexible .skin support
- .md3 models with multiple surfaces/textures supported
- .md3 models don't set modelhint (itemsclock, gamesummary etc broken.. also in 3.1)
- .md3 model corruption when drawing in modern
- .md3 model lerping when using VBOs
- .md3 models are lit as normal
- .md3 models support
/gl_outline
- .md3 model rendering/lerping in glsl (classic)
- powerup shell texture is incorrect with
/gl_program_aliasmodels 0
in classic -
/vid_framebuffer
&/vid_gamma_correction
is double-applying the gamma correction
Todo list (4.0-alpha)
- .md3/.mdl: add special cases for ng/sng to not lerp back to the frame 0 when firing stops
- .md3 vertex/colored lighting etc as normal
- .md3 shader support (keep very basic for now, maybe just blending modes)
- stop switching programs when drawing different hud elements (especially circles/lines)
- stop switching back to immediate mode at end of each program call in classic
- complete classic .glsl rendering path, allow -noimmediate
- OpenGL 3.2 support (update v120 shaders, ask for core on OSX)
- bloom functionality in glsl
- fix proportional font loading for Windows (convert everything to SDL_ttf?)
- bgnr: fov distortion on vid_restart
- bgnr: gamma doesn't work, reports "gamma size broken, gamma wont work" (likely to be linux specific)
- bps: "bug on alpha15 where it glows on the ground on couple of places, like the glow from a quad, currently only on ztndm3" - have downloaded the .mvd and seen demo showing example, happened once on watching demo bug cannot reliably replicate - could have been the GL_BindTextures() bug?
- dev: screen flickering. (... cannot replicate)
- initially thought to be only on linux, but seems it happens on windows too after long uptime.
- (dev reports that mur has same issue)
- (we now think this is a hud-rendering issue but haven't got to the bottom of it)
- dev: crash when issuing
/vid_restart
while fast-forwarding a demo. Error message looks like it might be freeing() memory twice. (command wasgl_externalTextures_world 1; gl_max_size 32768; gl_texturemode GL_LINEAR_MIPMAP_LINEAR; gl_loadlitfiles 1; gl_outline 1; vid_restart
) - lordlame: complaints about performance on radeon 6990 (reports alpha3 runs better)
- core profile rendering broken on AMD (narrowed it down to
draw_world
)
4.0 complete
- vertex/colored lighting in .glsl
- complete reading user interface from json
- complete new threading model for server browser
4.1
- multiple huds per config
- old-hud should be subset of new-hud rendering
- customisable scoreboards
- customise the location of multiview windows
- look again at gpu-culling of scene, pre-building list of surfaces per vis-area
- look again at deferred shading
Fixed in 3.5-menus
- dirtbox: rendering of server browser's server popup window was broken (was connected to server and running server browser and having server-browser window open)
- full console was drawn in background then painted over before server-browser
- spaces were still drawn when drawing red text, rather than skipped as normal
- dialog boxes were rendered as individual blocks rather than repeating tiles (very old issue)
- meag:
crosshairimage
is set to an image that is not available, will not load (memory in pool not allocated) - meag: proportional font loading is broken (uses new spacing for spaces but still uses fixed-width font)
- meag: server browser threading model significantly changed
- meag: user interface functionality significantly changed
Old bugs
- timon: coronas of rockets in water are visible when out of the water
- meag: cheap shadows are affected by rotation of item (most noticeable on gibs)
Bugs reported, not being actioned
- raket:
http://upload.foppa.dk/files/ez35love.mkv
, rendering to one x server and capturing from another on nvidia. Works on 3.1, 3.5-classic crashes immediately, 3.5-glsl gives the video attached. also breaks cs:go. no bug if ffmpeg capturing setup isn't enabled, raket suspects bug in linux nvidia drivers - raket: requested change: detect compositor on x-windows
Hopefully fixed (waiting for feedback)
- bgnr: text font appears as solid colour (reports that running without config works fine, has supplied config - was .wad font only)
- bps: crash on last seconds of dm2 (particle-expiring issue fixed in alpha6)
- dimman: crash when running
timedemo demo1
(...cannot replicate, believe might be same as bps) - ciscon: on mesa,
/vid_gl_core_profile
to get > 3.0 on intel card supporting 4.5 no longer works - dirtbox: related out of memory error when trying to connect to server (can't get this to happen, but fixed some memory leaks and memory usage should now be much lower)
- lordlame: vid_renderer 0 > 1 > 0 loses performance increase (performance stays at '1' levels) - AMD system
- up2: incorrect luma textures used on start.bsp (fullbright player skins layers used instead of brush model luma textures) (... could not replicate but alpha16 fixed bug in GL_BindTextures() call)
Struggling to replicate
- blah/ciscon: increased memory usage over time (... cannot replicate)
- nigve: 'q' in tracker isn't blue anymore (can't replicate)