Func_wall/func_illusionary
#552 posted by mh on 2014/12/16 00:04:27
An option - if you want to have better performance but still let people go nuts on them - is to merge them into the world model.
As a general rule this is safe to do. Inline brush models only appear once each, are already in the worldmodel surfaces/textures/etc lumps, and if they have the same animation frame as the world, and origin and angles of {0|0|0}, you can add them to the world model texture chains quite safely.
For id1 maps there is no measurable performance gain, but for cases where using lots of them is a bottleneck, it works well. The only cost you'll pay is in overdraw, but you can set up the chains so that the inlines are drawn first and then you'll get early-Z rejection on the world polys.
The exception of course is when someone post-processes a compiled BSP to allow sharing of surfaces between inlines and inlines, or inlines and the world. But that would be evil and we'll assume nobody does that, right?
(As an aside: the way stock Fitz handles texture chains doesn't permit this optimization. I can't remember right now if it also sorts it's chains back-to-front (like stock GLQuake does) rather than front-to-back (which would also run faster).)
Another Opinion(ated) Mapper
#553 posted by ijed on 2014/12/16 12:35:10
If the user wants to make bad content with a feature, let them. No engine coder ever blocked the use of, say, fog 1.
Protecting the newbs seems like a strange reason to limit the feature as well. Why not disable map hacks while you're about it, just in case.
mh's solution sounds good, basically handling the process better. Just disabling stuff seems like prohibition.
Yes, my last map did have a couple of wafter thin parts of void clipping caused by this issue, but it was my fault :)
Mh
#554 posted by ericw on 2014/12/16 21:46:39
thanks for the tips, will play with the merging brush models into the world sometime.
Fitz walks through the surfaces in the order of the cl.worldmodel->nodes array - there's no R_RecursiveWorldNode - then reverses the order per-texture from the chaining. Not sure if cl.worldmodel->nodes has any meaningful order to it.
ijed, that's a good point.
Yeah...
#555 posted by metlslime on 2014/12/16 23:26:23
the idea was that iterating a list is much better on CPU than walking a tree, and the order wasn't that important. This idea was taken from darkplaces at the time.
I have no idea if it's the correct tradeoff with current hardware. If GPU bound I guess front to back would be best.
Fitz Walks Through The Surfaces...
#556 posted by mh on 2014/12/17 01:40:40
Fitz walks through the surfaces in the order of the cl.worldmodel->nodes array
The big problem is that it only regenerates texture chains when the PVS changes. Merging brush models really requires texture chains to be regenerated each frame.
It's actually quite trivial to write a GL renderer that runs twice as fast as Fitz on ID1 maps (much more on big maps), but much of that is down to batching rather than BSP tree traversal (this isn't including dynamic lighting which is it's own separate problem).
So adding some good batching and accepting the CPU overhead of building the chains each frame is a reasonable tradeoff that you're going to come out on the good side of on any hardware (unless you're totally fillrate or ROP bound, which the original 1996 hardware was, and therefore none of this was a problem back then), and then you get the ability to merge as a bonus.
Happy New Bump
#557 posted by NightFright on 2015/01/15 22:51:01
Any progress on fixing the vs2008/OpenGL build of the latest snapshot? I'd hate going back to r15 after all the improvements which have been applied since then.
Source
#558 posted by ericw on 2015/01/17 02:13:30
any chance you can post the source for that last snapshot Baker? (no rush, just curious to have a look at it)
#559 posted by Baker on 2015/01/17 04:51:08
@ericw -- of course! I'm deep in the middle of possibly finally handling some frustrating math calculations that have been owning me all week at the moment, will upload first opportunity tomorrow.
@nightfright -- Don't want to promise a timeframe at the moment. At same time, I do want to get a revision out.
#560 posted by Baker on 2015/01/18 00:46:39
Thanks!
#561 posted by ericw on 2015/01/18 04:32:02
#562 posted by Baker on 2015/01/18 06:31:43
Also: There needs to be an SDK folder above the source code with this. Contains DirectX, Curl, a very heavily modified "FDFramework" (the Mac build was derived from Fruitz of Dojo), some headers and some things moved out of the engine folder.
(More complex than I prefer ...)
Crash On Quickload F9
#563 posted by Ian K on 2015/02/15 16:06:14
Getting Quake Error
R_Renderview: NULL worldmodel
When pressing F9 to quickload after previously saving with F6.
Fitzquake mark V 0.94
#564 posted by Spirit on 2015/02/15 20:11:19
try again without any mods
Fitz With .mp3 Files Etc
Any idea how to get this to work?
I just can't it working in FQ, but it seems to work fine in quakespasm.
Quickload Crash
#566 posted by Ian K on 2015/02/18 13:56:54
Can't work out why this is happening. Workaround: put the following in autoexec.cfg:
bind "F6" "echo Quicksave...; wait; save s0 "
bind "F9" "menu_load "
So the top save slot is the quicksave one.
Bizarre...
#567 posted by necros on 2015/02/19 02:16:17
can you try this:
in the console, type load quick.sav
the 'load' command can load any save by filename and quicksave just saves to a quick.sav file. There should be no difference between loading a normal save and loading a quicksave via quickload. A crash there would indicate something up with quickload code? Or the order in which things are done with quickload vs load??
Happens With V0.94 For Me Too
#568 posted by ericw on 2015/02/19 02:58:03
but it seems to be fixed in v0.99, maybe try that version?
http://www.celephais.net/board/view_thread.php?id=60831&start=507
necros: "load quick" in the console causes the same crash. For some reason loading via the menu works.
#569 posted by Spike on 2015/02/19 03:06:24
Maybe it disconnects first.
Quickload
#570 posted by Ian K on 2015/02/19 13:25:01
Thanks, 0.99 vs2008 version works. The winquake version wouldn't start. (Win7 Pro x64 i7-4770 integrated graphics)
Autoexec.cfg
If I have an autoexec.cfg then the sky is drawn over the world. Anyone else having this issue?
https://www.dropbox.com/s/kxkl7j9mrlj22rh/bug.jpg?dl=0
I thought it was a setting in the file but it seems that any entry will cause the problem.
Nb
I tried to get around this by having a file called 1.cfg (the only setting being r_shadows 1), I typed exec 1.cfg and I get the same sky drawing error.
Ignore Me
I just went back and re-read the thread and realised there's a bug with shadows in the latest build...
What a weird coincidence that this was the only setting I decided to keep. Losing my marbles.
#574 posted by Yhe1 on 2015/03/28 08:22:00
The Nehahra Fog doesn't work in Mark V. I remember Directq used to have a problem with this.
Nehahra Fog ...
#575 posted by Baker on 2015/03/28 11:21:44
Nehahra is an interesting thing, especially the fog. Here is what I did ...
1) DPNehahra is the official engine for Nehahra.
2) Because dpnehahra is the official engine, I view how dpnehahra displays a map as correct and only way it should be displayed.
Load up the map in question in dpnehahra:
A) If dpnehahra shows fog on the map, I have a bug.
B) If dpnehahra does NOT show fog, I am complying to the official presentation.
JoeQuake and derivatives present the maps in a different way than DPNehahra.
But JoeQuake didn't exist when Nehahra was released and I view any differences in map presentation between JoeQuake and DPNehahra to be JoeQuake presenting the maps wrong.
Case in point, there is a DP Nehahra expansion map with a skybox and non-standard fog keys.
1) If I load up the map in DPNehahra, I see the sky but no fog.
2) If I load up the map in JoeQuake, I see fog but no sky.
I had to pick which way to do it, I picked the DPNehahra way.
Who Needs A Fog Anyway?
#576 posted by spy on 2015/03/28 15:23:12
the fog is a lesser issue
|