Comments (22)
Well, shit. This compiles / looks correct on my system. How should I jiggle the torch to repro?
from quetoo.
Narrowed down the issue to tangents & bitangents being all zeroes, caused by cascading divide-by-zero errors sent through to Cm_Tangents - ironically, this also happens on mesh models, but it's likely degenerate triangles that we aren't seeing at all.
For BSP though, we're somehow getting triangles that either have points with the same S/T coords (which would mess up this calculation) or something else going on.
from quetoo.
@M-Ro Care to retest this with latest? I'm simply skipping over the malformed triangles when calculating tangents. It could have just been in my head, but I swear, specular actually looked noticeably better on Torn Glory with this change, too.
from quetoo.
I can't see any difference in regards to the white/black faces.
Has something changed with specular? I'm not sure if I'm just noticing it now since you've mentioned it, but it seems much higher now, almost being blown out to the point of posterization in places.
from quetoo.
That's actually the Bloom effect which is just a very rudimentary shader right now, once it gets a better blur and blending it'll look a lot more natural.
from quetoo.
Yep, upon rolling back and double-checking I don't see any difference in specular either.
from quetoo.
Sorry! I wasn't actually compiling the right map.
This does fix the white polygons in the testcase and the ones I can see on q1dm1. I recompiled maps, checked, rolled back, recompiled and checked, and rolled forward again to triple check.
from quetoo.
They are still present on Edge after recompiling the map.
from quetoo.
They are still present on Edge after recompiling the map.
Yes, I've noticed these 'holes' too and I think it has to do with the intersecting clipbrushes on those rocks. I've never seen clipbrushes create visible holes before so I'd say this is a bug. As a test, delete the clipbrushes there and recompile.
from quetoo.
The holes are a different issue. Holes are welding errors. White triangles are bad tangent vectors. I can see both in the Edge screenshots above, but.. just to clarify, we are talking about two separate problems.
Deleting clip brushes, or changing any brushes near this area, would quite conceivably "fix" the problem by changing the BSP tree, i.e. the order in which the brushes are split up by all of the planes in the map. It could be something to do with clip brushes, but it could also just be that by modifying the brushes in that area, you end up with a different permutation of BSP splits -> leafs -> portals, etc.. that does not create this problem.
Basically, I think we can (did?) fix the majority of these. I'm not sure it's practical to spend much more time attempting to resolve all of these issues, when they are rare and usually easily worked around. But I'm open to what others think..
from quetoo.
Well, that's what I have been doing so far, that is trying to change the order in which the brushes are split up. Most times I can get rid of the visible errors but not this time, not when I have to stick a bunch of clipbrushes in there that are causing welding errors.
I'm still not sure if clipbrushes should ever create cutting planes. While mapping for other Quake games I was habitually checking my 'tris' and I don't think I've ever seen cutting lines from clipbrushes. I just checked some of my old Q2 maps for heavily clipped areas and I don't see any traces of the clipbrushes being there.
Anyway I think this is a problem because now I can't properly use clipbrushes on uneven terrain, without causing 'welding errors' (as I showed in my bug list). And a few spots in Edge's terrain (in my updated version) can clamp the player completely. Should I for now just ignore this?
from quetoo.
Clip brushes shouldn't, in theory, be part of the process other than at the end where the brushes are compiled into the tree. However, I think currently we still store the vertices, planes and edges that clipbrushes generate, and I think they could potentially be causing a welding issue.
from quetoo.
Planes, yes. Verts, no. Clip brushes do not generate portals / faces, and so there are no windings or verts for them at all. Clip brushes also should not generate BSP splits. If you're seeing that, and you're sure there are no structural brushes using the same planes, then that would be a bug for sure. Do you have screenshots that show what you suspect is wrong here?
from quetoo.
I'm combining screenshots that are taken in wireframe mode with normal screenshots, so you can see the lines in texture mode.
These are definitely cut lines from the clips:
from quetoo.
You're absolutely right! This is a regression I introduced in the last couple months, I think. Clip brushes used to be marked as already-split going into the BSP process, so they would not become new splitters. But I seem to have broken that. Here are two screenshots with the code we have now:
And a quick "fix" that I'm not sure is 100% correct now, but this may be all that is needed:
You can see there are fewer triangles in the new version, for sure. Of note, tho, I do still have one tiny missing triangle (weld error) on these rocks, even with the new version...
I'll try to properly test this fix and merge it in later on today / tonight.
from quetoo.
See, I knew it:)
As for that weld error on the rocks, I already fixed it in the newest version but you don't have that one yet.
from quetoo.
Nice. The missing sliver on the floor is fixed with this change, too, so.. hopefully I can get it merged down soon!
from quetoo.
I hope so too, but I keep stumbling across new errors and glitches. Found a new one #658
from quetoo.
Under every bug is two other bugs. This is how programming works, sadly.
from quetoo.
I'm aware, I've once heard someone say about making a videogame that it is like making a movie while at the same time inventing the camera. But because of the way this works it is also taking me a lot longer to finish up these maps. So plz bear with me. :P
from quetoo.
So the fix for clip brushes carving up the world was merged yesterday. Between that fix, and the bad tangent vectors fixes, do we want to consider this issue closed? There are still rare welding issues and bad tangents. I'm happy to leave this open but remove it from the 1.0 milestone...
from quetoo.
The one bad tangent I still saw on Torn Glory was fixed by just wiggling the vertex in Radiant and putting it right back to where it was 🤷 I think we've fixed these issues. Closing it out!
from quetoo.
Related Issues (20)
- Player sounds stop playing back after a Com_Error HOT 1
- pmove-bug on certain non-axial geometry HOT 17
- Only megahealth over-health should countdown HOT 7
- Console background is not positioned correctly for all resolutions HOT 3
- Riding movers causes hitching on rider positions HOT 2
- UI Bug in the server creation menu HOT 2
- Soft particles don't work with bmodels HOT 10
- Pan's buglist of map editing issues and other errors HOT 199
- Add CONTENTS_ATMOSPHERIC for misc_dust, misc_fog, etc. HOT 2
- Re-implement simple global fog HOT 3
- Dedicated runs by default in the background HOT 6
- Crash when shooting func_door_secret with certain weapons. HOT 6
- Crash on r_restart / r_toggle_fullscreen HOT 7
- Crash on exit HOT 8
- Windows download from Queutoo website is broken HOT 2
- Suggestions /ideas HOT 16
- Antiportals HOT 1
- Multiplayer features HOT 1
- Movement/prediction stutters
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from quetoo.