Code Monkey home page Code Monkey logo

Comments (22)

jdolan avatar jdolan commented on September 3, 2024

Well, shit. This compiles / looks correct on my system. How should I jiggle the torch to repro?

from quetoo.

Paril avatar Paril commented on September 3, 2024

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.

jdolan avatar jdolan commented on September 3, 2024

@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.

M-Ro avatar M-Ro commented on September 3, 2024

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.

quetoo023
quetoo024

from quetoo.

SpineyPete avatar SpineyPete commented on September 3, 2024

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.

M-Ro avatar M-Ro commented on September 3, 2024

Yep, upon rolling back and double-checking I don't see any difference in specular either.

from quetoo.

M-Ro avatar M-Ro commented on September 3, 2024

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.

quetoo029

quetoo030

from quetoo.

M-Ro avatar M-Ro commented on September 3, 2024

They are still present on Edge after recompiling the map.
quetoo031
quetoo032

from quetoo.

Panjoo avatar Panjoo commented on September 3, 2024

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.

jdolan avatar jdolan commented on September 3, 2024

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.

Panjoo avatar Panjoo commented on September 3, 2024

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.

Paril avatar Paril commented on September 3, 2024

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.

jdolan-chwy avatar jdolan-chwy commented on September 3, 2024

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.

Panjoo avatar Panjoo commented on September 3, 2024

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:
crazyclippy2
crazyclippy1

from quetoo.

jdolan avatar jdolan commented on September 3, 2024

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:

quetoo006

And a quick "fix" that I'm not sure is 100% correct now, but this may be all that is needed:

quetoo007

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.

Panjoo avatar Panjoo commented on September 3, 2024

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.

jdolan avatar jdolan commented on September 3, 2024

Nice. The missing sliver on the floor is fixed with this change, too, so.. hopefully I can get it merged down soon!

from quetoo.

Panjoo avatar Panjoo commented on September 3, 2024

I hope so too, but I keep stumbling across new errors and glitches. Found a new one #658

from quetoo.

Paril avatar Paril commented on September 3, 2024

Under every bug is two other bugs. This is how programming works, sadly.

from quetoo.

Panjoo avatar Panjoo commented on September 3, 2024

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.

jdolan avatar jdolan commented on September 3, 2024

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.

jdolan avatar jdolan commented on September 3, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.