3.5-alpha12 (Sat September 22nd 2018)
Pre-release
Pre-release
·
1358 commits
to meag/renderer
since this release
alpha12 changes
- blood_dog: error on shutdown:
malloc: *** error for object 0x7ffee223cde0: pointer being freed was not allocated
- blood_dog: opens 1/4 screen dimensions on osx (high-dpi scaling?)
- blood_dog: on multi-renderer compile, tries to compile glsl programs when map reloads even when classic renderer is active
- drzel: skybox is rendered fullbright in classic renderer
- jawn: if
/vid_24bit_depth 1
is set and gfx card doesn't support 24-bit depth buffer, falls back to unaccelerated visuals (3.1 onwards) -
/gl_motion_blur
in classic renderer fixed (incorrect texture used) - maps with sky textured named 'SKY' instead of 'sky' could cause data corruption
-
/shownick
content was formatted by/scr_teaminfo_order
not/scr_shownick_order
-
/cl_clock_format
made consistent with/hud_clock_format
-
/fs_restart
outputs/fs_path
after completion, doesn't list individual .pak files opened - flame replacement has been re-written to (pre-calculated, 1 particle, multiple billboards) (SF#51)
- coronas around torches kick in when the centre of the flame is visible, and don't fade in (SF#51)
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
Known/reported issues
- dev: screen flickering. initially thought to be only on linux, but seems it happens on windows too after long uptime. (... cannot replicate) (MaxRazer reports flickering on screen in 3.1) (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)
- nigve: 'q' in tracker isn't blue anymore (can't replicate)
- requested change: detect compositor on x-windows (raket)
Changelist for next version
- ciscon:
/gl_lumatextures 0
,/gl_fb_bmodels 1
shows luma on black texture - ciscon: gl_textureless caused black textures
- dopeskillz: gl_gammacorrection 1 broken
- drzel: skybox textures don't match up in modern renderer
- lord reven/drzel/ginzberg: rendering issues (need to check what version being used etc - looks like luma textures being renderered incorrectly) - AMD system, cannot replicate since upgrading to nvidia. Rendering artifacts due to ARB_gpu_shader5 vs NV_gpu_shader5 - I live and learn (and have less hair)
- meag: aliasmodel vertex/colored lighting is broken in classic (not yet implemented in glsl/modern)
- meag: r_drawflat affected non-world brushmodel entities in modern
- 16-bit depth buffer fixes (
r_nearclip 2
at minimum, polygon offset pulls models, not push) - default.cfg executes on config load/reset (default.cfg in id1/pak0.pak is ignored)
- ruleset checking on cvars (thankfully not many of these) was bugged if user had invalid value in .cfg file executed at application launch
- 2D rendering now uses floats - mouse movement in menus should be smoother when using large vid_conscale
- toggling console now exits hud_editor mode
- qmb particle trails bug fixed, should no longer spawn so many particles or fill particle list when using trails made up of multiple trails/entity.
- removed
/gl_part_fasttrails
, spawned particle per rendered frame
Hopefully fixed (waiting for feedback)
- blood_dog: still getting border on simple items in linux (same issue as using nquake & lordlame's config?)
- bps: crash on last seconds of dm2 (hoping this was the particle-expiring issue fixed in alpha6)
- 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
Struggling to replicate
- blah/ciscon: increased memory usage over time (... cannot replicate)
- dev: alias model textures corrupt/incorrect ("replicate by using newplayer.mdl and e1m2"... cannot replicate)
- dimman: crash when running
timedemo demo1
(...cannot replicate) - 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)
- up2: incorrect luma textures used on start.bsp (fullbright player skins layers used instead of brush model luma textures) (... cannot replicate)
Change-log (previous versions)
alpha11 (Thursday 20th September 2018)
- blood_dog: alias models are rendered untextured on OSX/Windows software renderer
- blood_dog/milton: re-enable
/loadloc
- ciscon: context creation is a mess... on mesa, requires vid_gl_core_profile to be set to get > 3.0 on intel card supporting 4.5, osx requires forward-only if vid_gl_core_profile set, nvidia shouldn't ever have either set (? check this). Try 4.6 => 4.3 compat, then 4.6 => 4.3 core
- meag: z-buffer not cleared properly in classic renderer if no hud drawn and last particle type had depth mask disabled
- meag: shockwave effect broken when using qmb particles
- meag: framebuffers and programs now available in classic renderer (software gamma only atm)
- meag: classic renderer ignored some polyblend rendering colors
- meag: SetGammaRamp() could fail on Windows 10 if temperature too high (now reduces and tries again)
- meag: aliasmodels are now only lerped in sequential runs, no longer requires ssbo and index lookup
- meag:
/gl_lightning 1
LG beam being skewed left on classic renderer - meag:
/vid_gfxinfo
now lists capabilities of the renderer - meag:
/gl_coronas 1
were untextured on classic renderer - meag: aliasmodel fullbright textures are merged with material on load - glsl only
- meag: fullbright rendering fixed (not everything is a luma) - glsl only
- meag: /
gl_lightning_sparks 1
appear at furthest point of beam (not clipping platform edges - SF#143) - meag:
/con_notify
&hud_notify
rendering integrated (hud_notify doesn't clip last character - SF#513) - meag: invalid
demo_dir
caused demo browser to be empty & locked (SF#283 - related bug, anyway) - meag:
/file_browser_sort_archives 1
- archives are still at top of list, but sorted in same way files are (SF#273) - meag: .ZIP etc identified as archives as well as .zip (SF#313)
- meag: memory free error in memory-trace build when opening demo from within archive
- meag: server fix to stop mods from re-writing user commands (trinca-fbca "can't talk" bug)
- meag:
/r_bloom 1
re-enabled in classic renderer - meag:
/r_bloom 1
bug whenr_drawviewmodel 1
set fixed. Reducer_bloom_alpha
if the bloom strength is now overpowering. (SF#296,SF#297,SF#393) - meag:
/gl_nailtrail 1
have been replaced by translucent prisms, significant fps improvement - meag:
/cl_startupdemo
should behave a bit more as expected (SF#467, SF#468) - meag: fix model corruption when drawing flame model replaced by flame0.mdl
- meag: fix z-fighting in classic renderer (
/gl_brushmodel_polygonoffset
not taking effect) - meag:
/gl_mipmap_viewmodels
was affecting some non-viewmodel aliasmodels - meag: Textures not loaded correctly when driver didn't support NPOT textures
- meag: Lightmap rendering fixed in OpenGL 1.1 (3.1 bug...)
- meag: Texture filtering wasn't being explicitly set on non-mipmap textures
- meag: Lightmap format/type chosen from GL_RGBA/GL_BGRA & GL_UNSIGNED_BYTE/GL_UNSIGNED_INT_8_8_8_8_REV depending on device preferences (requires OpenGL 4.3 or necessary OpenGL extensions)
- meag:
/dev_gfxlightmapbenchmark
measures various formats to compare performance on device preference vs other options
alpha9
- ciscon: "Error: Cache_Free: not allocated" on hoppa2 (when heapsize specified and too low)
- lord reven: line from top-left of screen when on menu and cursor texture not available
- gl_textureless has no effect when using buffers in classic renderer
- border on simple items in classic renderer (especially when using low-resolution images)
- added gl_scaleModelSimpleTextures to control simple item sprites independently of aliasmodels/players when gl_simpleitems enabled
- hud rendering issue when not exclusively images
- added
/gl_scaleModelSimpleTextures
to control scaling of simple textures vs standard model textures
alpha8
- dev/lordlame/others: old bug, hopefully the atlas filling up won't corrupt the hud anymore
- GL_POLYGON renderering removed from classic
- Should include all changes in 3.1-rc2 (possible regression bugs in this version during rebase)
alpha7
- ciscon: bugfix: telesplash effect is delayed (r_telesplash 1, classic not qmb) - limits on particle count/type stopped all standard particles being drawn as telesplash uses 896 each
- ciscon: bugfix: gl_max_size changes overwritten during vid_restart (resets back to hardware maximum)
- blood_dog: aerowalk teleport exit displayed as turb surface
- meag: bugfix: vid_framebuffer broken
- meag: invalidate particle texture array on shutdown
- meag: bugfix: where switching renderer caused memory corruption in turb surfaces
- meag: optimise rendering of turb surfaces in classic (non-glsl) renderer
alpha6
- nigve: sizing & right-alignment of hud elements using large fonts was broken
- meag: potential memory corruption bug when expiring old particles (classic particle system) - caused crashes, might be cause of bugs reported by bps
- meag: lots of code moved around to support renderer selection at compilation time, and support future renderer options. still more to do
- meag: renderer states collected together, standard definitions.
- meag: powerup shells now supported on md3 models
- meag: md3 viewmodel size is consistent with .mdl
- meag: powerup shells sizes no longer changes depending on the model being drawn
- meag: turb surfaces in modern no longer subdivided
- meag: memory usage for 3d sprites drastically reduced
- meag: potential hud corruption when using alignment functions and string truncated