ezQuake 3.5-alpha19 (30th Jan 2019)
Pre-release
Pre-release
meag
released this
30 Jan 14:04
·
48 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: 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 for next build
- Proportional fonts: fix loading on Windows (download freetype.dll and put in same directory as ezquake.exe)
- Proportional fonts: loads .ttf by default and looks in system directories for files
- Proportional fonts:
fontlist
enumerates fonts available on system - dopeskillz: if r_fastturb set, lava in
pkeg1
gets random colours from the map (-glsl only?) - tuna: crash on multi-renderer build when entering map (was compiling programs for inactive renderers)
- tuna: green lines on menu screen when no cursor texture (fixed rendering of lines & polygons in hud)
- classic: request explicit OpenGL versions (4.3-compat, 3.2-compat, any)
- hud: combine polygon/line-drawing programs with image-rendering
- hud:
score_bar
attributes can have formatting applied (%<10r>T
etc) - .md3/.mdl: add special cases for ng/sng to not lerp back to the frame 0 when firing stops
- .md3/.mdl: block lerping of vertices if they come from behind the player
- .md3: support outlining of models
- ciscon: font loading broken on linux, should be defining EZ_FREETYPE_SUPPORT_STATIC if linking freetype
- ciscon: if proportional font loaded, "pushes my speed number to the right unless i set hud_speed_proportional 1"
-
/hud_speed_text_align 0
hides the text value (as per documentation) - lordlame: netgraph not rendered in hud (possibly tuna's line-rendering problem)
- mushi: viewsize 80 etc looks odd (border not cleared, have asked for backtile.png)
- dopeskillz: reports crashes when viewing qtv, nothing to replicate so far, looking into it
-
r_viewmodellastfired
- bugged in earlier versions when going to next map, in 3.5 renders a corrupt axe - investigate
item_opacity
on hud elements - this wasn't always followed, but seemed to define the opacity of non-text items (the speed bar as an example) - utilised by nquake so should keep using - .md3 shader support (keep very basic for now, maybe just blending modes)
- fgh: no menu options when loading
- fgh: no text until cfg_load
- fgh: black textures (despite map, but not all the time)
Todo list (4.0-alpha)
- .md3 vertex/colored lighting etc as normal
- hazeus: look into progs/v_bat.mdl &
r_lerpmuzzlehack
... only lerp points which are always in front of the player? - 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
- Alpha chains
- HUD: Circles
- GLC_RenderFramebuffers
- MD3 Rendering
- MD3 Powerup shell
- Bloom effect
- GLC_PolyBlend
- GLC_BrightenScreen
- GLC_DrawSky() (various?)
- GLC_DrawMapOutline()
- DrawGLPoly() (what else uses this?)
- GLC_EmitWaterPoly() - only called when *model, find example
- OpenGL 3.2 support (update v120 shaders, ask for core on OSX)
- bloom functionality in glsl
- 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
- convert .mdl/.md3/.bsp-items to a common model format
- 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)
- mushi: "with Viewsize values less than 100, borders of the screen have issues. Maybe someone else can confirm. 3.5 glsl"