Jump to content
The Dark Mod Forums

render issue


Zen3001
 Share

Recommended Posts

No. It'll fall through the cracks if it isn't posted in bugtracker.

 

Edit: You can always get someone else to file the issue. Just have them attach your test map and include a link back to the beginning of this thread.

 

You're in luck. The problem already appears in bugtracker. Perhaps someone can attach your test map to that issue and add the link back to this thread.

Link to comment
Share on other sites

I just recreated the staircase, and found it actually somewhat easy to get the same problem, and I think it's related to excessive geometry cuts, although probably still caused by a bug. As I made the walls longer/shorter I got different results (or no bad results in some cases), one time it affected the wall where some tris had different lighting, another time the wall had a black triangle, and then I got the exact same problem as the OP, in the staircase itself.

All the problems with walls could be solved by making the staircase into a func_static, but the last one couldn't. The way I solved that one this case, that you might want to try, was by using rich_is_bored's 3rd setup (with a slight difference, but may be irrelevant -- see in spoiler below), and by making three func_statics out of it:

- one for all the boards

- one for both the big ramp and the big block

- one for all the leftover triangle-steps below the boards.

DgtWCcx.png

 

  • Like 1
Link to comment
Share on other sites

I just recreated the staircase, and found it actually somewhat easy to get the same problem, and I think it's related to excessive geometry cuts, although probably still caused by a bug. As I made the walls longer/shorter I got different results (or no bad results in some cases), one time it affected the wall where some tris had different lighting, another time the wall had a black triangle, and then I got the exact same problem as the OP, in the staircase itself.

 

All the problems with walls could be solved by making the staircase into a func_static, but the last one couldn't. The way I solved that one this case, that you might want to try, was by using rich_is_bored's 3rd setup (with a slight difference, but may be irrelevant -- see in spoiler below), and by making three func_statics out of it:

- one for all the boards

- one for both the big ramp and the big block

- one for all the leftover triangle-steps below the boards.

 

 

DgtWCcx.png

 

Yup, that helped

  • Like 1
Link to comment
Share on other sites

Just for the record, maybe the other setups work too, I only tried that one. The reasoning was just that separating each part of the staircase in its own func_static that makes the engine calculate their geometry separately, making it cleaner and without each part interfering with each other (or the walls/floors). Since excessive geometry seemed to be the problem, I though that would be the way to go.

 

Though, as far as I know, and someone correct me if I'm wrong, anything that isn't sealing geometry should always be func_static anyway.

Edited by Skaruts
Link to comment
Share on other sites

Just for the record, maybe the other setups work too, I only tried that one. The reasoning was just that separating each part of the staircase in its own func_static that makes the engine calculate their geometry separately, making it cleaner and without each part interfering with each other (or the walls/floors). Since excessive geometry seemed to be the problem, I though that would be the way to go.

 

Though, as far as I know, and someone correct me if I'm wrong, anything that isn't sealing geometry should always be func_static anyway.

 

Not necessarily, func_statics should be used only for static models (to save performance), any model that moves should be a func_mover (controlled through scripts) or a idMoveable (defined in def files, is a rigid body physics enabled object), you also need to know that AI path calculation (AAS) only works on world brushes, AI walks fine on func_static floor but you need to put a brush under it, btw no need for the AI to touch the brush, so you can have a func_static floor and a brush under it some units down and it still works fine.

Edited by HMart
  • Like 1
Link to comment
Share on other sites

What is the smallest simplest repro case? Can you get it break with just an empty room and a staircase?

That's how I managed to. In a 256x256 room (128 high). There's two sets of stairs in the map, to the left of player start is the one I managed to fix before, and to the right is the original one with the problem.

 

stairs.map.txt

 

EDIT: I just made it solid 0 and looked at it from the inside, and doesn't seem like there's any faces facing inward. Someone mentioned this before, and I was wondering.

Edited by Skaruts
Link to comment
Share on other sites

Though, as far as I know, and someone correct me if I'm wrong, anything that isn't sealing geometry should always be func_static anyway.

 

 

Not necessarily, func_statics should be used only for static models (to save performance), any model that moves should be a func_mover (controlled through scripts) or a idMoveable (defined in def files, is a rigid body physics enabled object), you also need to know that AI path calculation (AAS) only works on world brushes, AI walks fine on func_static floor but you need to put a brush under it, btw no need for the AI to touch the brush, so you can have a func_static floor and a brush under it some units down and it still works fine.

This is especially important for stairs, as these also need a working AAS area. So, this case is one, where leaving the stairs as a brush would actually be helpful as you don't need to add an additional monster clip for AI to use it (if it works without the rendering error, of course).

Link to comment
Share on other sites

@stgatilov

Can you confirm that the ifdef in idMath::InvSqrt is affecting this?

 

@Skaruts

Do you have the @nbohr1more's 2.07 alpha build? I can give you a fixed .exe to install on top of that

Or you can just ignore this issue and wait for 2.07 release

Link to comment
Share on other sites

@Skaruts

Do you have the @nbohr1more's 2.07 alpha build? I can give you a fixed .exe to install on top of that

Or you can just ignore this issue and wait for 2.07 release

I don't, but it's ok. I wasn't the one with the issue, I just managed to replicate it. I'm not really making any FMs at the moment either, so...
Link to comment
Share on other sites

  • 1 month later...

Aren't you even a little bit interested why it worked for you on AMD?

Do AMD CPU's calculate _mm_rsqrt_ss more precisely?

The AMD CPUs calculate it differently --- that's for sure.

Specification does not define the result precisely, it only says "relative error must not exceed 2^-11" or something like that.

 

It may turn out that AMD implementation is more precise.

Or it may be that the particular triangle causes problem only when the error has very specific value. So when you reproduce it on Intel CPU, then you see the problem because they all use the same circuits for it. And when you use AMD CPU, it is not reproduced in this particular case. But you can create some more stairs with such CPU and find another example of the same problem, which will be present on Ryzens but absent on Intels.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recent Status Updates

    • duzenko

      Please, can we finally group the missions by year in the game menu?
      · 3 replies
    • duzenko

      I vaguely recall someone recently complained about two-sided materials (curtains?) not getting lighting from both sides
      I just found a piece of code that's supposed to do just that
      Where was that discussed? (@nbohr1more?)
      · 8 replies
    • Xolvix

      I still play classic Doom (albeit with user-made mods and maps rather than the original campaign) on a regular basis. A game from the early 90's which has still got a healthy following in 2022. Pretty amazing.
      · 3 replies
    • Nort

      I'm beginning to understand why people who aren't into social clubbing "don't last long" on this project, and why it's so full of holes. When moderators are siding with bullies, by closing down threads that they derail, then I start to wonder if I should support the platform to begin with.
      I'm sure that the core development is solid, but when you're constantly tone policed and bullied, and moderators are playing into it too, then the project will just drive away talent, and replace it with socialites instead. ...and without talent, you only end up with a small skeleton crew trying to do everything themselves.
      ...so Dragofer and Airship Ballet, and all you other socialites, you win. From now on I'll just keep to myself. You'll never be able to do my work, but at least you'll be happy together, and that's what matters to you.
       
      Update
      Actually, I have to revise my statement:
      I actually messaged greebo - the top dog, I gather - about nbohr1more's outburst of insanity below, and since I haven't even heard back from him, I just have to assume that there's not a single core programmer here, who's not backing nbohr's threats. ...and that's bad.
      ...so if you're a newbie reading this, or an honest soul like ZergRush, then just slowly back out of these forums, run, and don't look back. This is nothing more than a cult posing as a game development project, using Thief and IDTech4 to sucker hopefuls in, to do work for them, while trying to cajole them into something going on behind the scenes, which apparently - according to nbohr - is something that should be hidden from the state. These people aren't programmers - they don't even understand things like how to fix the simplest bugs. All they have, is an engine, and an IP, and some sort of fascist social cult. There was some other project I saw being made in the Unreal Engine. Try joining that project. ...or start a project of your own. Anything but this asylum.
      Hopefully that was "divisive" enough for a final post, because at this point I really want people to leave this place. This project is, on a management level, just awful garbage, run by garbage people, apparently from the top down, and I'm just glad that they have a garbage place to stay, together, and hopefully forever.
      Nort
      · 9 replies
    • The Black Arrow  »  Araneidae

      A spidey! I love spideys 🕷️
      · 0 replies
×
×
  • Create New...