3.5-alpha17 (15th January 2019)
Pre-release
Pre-release
meag
released this
15 Jan 11:40
·
84 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
- includes all changes up to and including v3.1
- classic renderer can now use glsl (currently world drawing, sky, turbsurfaces, aliasmodels, some hud - still some aspects of rendering to complete). Can be toggled on/off with
/gl_program_xxx
- classic renderer uses texture arrays for lightmaps, if available
-
/r_lightmap_lateupload
added, uploads changes to lightmaps as they are first bound in the scene (potential performance boost for those who had better performance with-nomtex
command-line parameter) -
/r_lightmap_packbytexture
added, naive way to reduce texture switches when rendering world by changing order surface lightmaps are added to lightmap atlases - fix hunk-leak when loading or starting a new single player game
- added hud elements for centerprint & qtv_buffer
- added
/r_drawhud
option, for timedemo testing (also useful for level screenshots) - don't check for updated lightmaps on non-world brushmodels
- bugfix: gfx.wad console font loaded on startup again (previously had to toggle 24bit and back again... reported by bgnr)
- bugfix: potential bug when binding multiple textures (hopefully this was the cause of bps seeing lightmaps on his ammo boxes instead of luma textures)
- bugfix: co-ordinates for solid colour correctly set when sprite array is large size (reported by ciscon)
- bugfix:
/gl_outline_width
was not being applied in modern/glsl-only renderer (reported by ciscon) - bugfix: ezQuake would quit with message "too many graphics buffers allocated" after multiple vid_restarts fixed (reported by dopeskillz)
- bugfix:
/scr_new_hud_clear
has been removed, area outside viewarea should always be cleared now (reported by drzel) - bugfix:
/gl_simpleitems 0
&/r_drawflat 1
caused ammoboxes etc to disappear - bugfix: toggling
/r_drawflat
led to fps drop - bugfix: potential NULL reference error when deleting VBO buffer
- bugfix: aliasmodel powerup shell didn't match underlying models lerp values (classic)
- bugfix:
/cl_bufferwait
has been removed, was either low-latency & very smooth or very jerky movement (reported by mushi) - renamed
/scr_printspeed
to/scr_centerspeed
- removed functionality: turb ripple (was demos only)
- removed functionality: scene blur
- removed
/r_glstats
, values now in hud elementframestats
Todo list for next build
- ciscon: r_drawflat bugged on modern
- ciscon: classic rendering bugged on linux (nvidia drivers & mesa) (same errors, using multi-renderer build)
- 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?) - cfg_load when connected to server and r_dynamic 1 can lead lightmaps to be incorrect
-
/vid_framebuffer
&/vid_gamma_correction
is double-applying the gamma correction - ~~~confy:
show speed
is broken,show speed2
works but takes over whole screen (cannot replicate, waiting on config)~~~ - was config issue,hud_speed_style 1
to get rid of the green background... but what isopacity
vsitem_opacity
cvars? couldn't get an difference in 3.1 either - during vid_restart the buffers can be recreated in a different order which causes problems
Todo list, reported longer-term issues
- 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
) - stop switching programs when drawing different hud elements (especially circle crap)
-
/r_lerpframes
& md3 models... double-check
Changes in upcoming version
- ...
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 - cannot replicate)
- bps: crash on last seconds of dm2 (hoping this was the 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)