Jump to content
The Dark Mod Forums

Optimizing maps / optimizing techniques (brushwork) questions


itsShas

Recommended Posts

4 hours ago, stgatilov said:

As far as I remember, any entity is enough to make sealed area pass through compiler, not only player-start. So if you put at least one entity per room, it is quite expected that you will get many visleafs without visportals 😃

I know the flood fill can start with any entity, but does it actually do a separate flood fill for every entity and divide the map into visleafs if the map sections are disconnected?

If so, then I guess what HMart wants to do will work perfectly.

Link to comment
Share on other sites

12 minutes ago, HMart said:

is just hiding and showing as I move slightly forward and back while clipping with a wall. 

Right, but my point is that the distant room appearing to disappear behind a wall doesn't prove that it is being culled by the engine. It might still be sent to the GPU and rendered, but hidden from the final output image because something else (the wall) is drawn in front. That's why you need r_showTris 2, which shows all triangles that are being rendered, even those which are behind other objects and not visible in the final image.

Link to comment
Share on other sites

13 minutes ago, OrbWeaver said:

I know the flood fill can start with any entity, but does it actually do a separate flood fill for every entity and divide the map into visleafs if the map sections are disconnected?

Well, it does not make sense the other way.

I guess mappers know well that they can have "zones" which are open to void, but as soon as they put any entity there, they get a leak. So the flood fill obviously starts from every entity. As for visleafs, they are simply connected components of nonopaque BSP volumes, separated by visportals and opaque volumes.

UPDATE: I think it is easy to check by putting many copy/pasted sealed rooms, and checking various console messages. The number of visleaf areas is printed there, I guess.

Link to comment
Share on other sites

24 minutes ago, OrbWeaver said:

Right, but my point is that the distant room appearing to disappear behind a wall doesn't prove that it is being culled by the engine. It might still be sent to the GPU and rendered, but hidden from the final output image because something else (the wall) is drawn in front. That's why you need r_showTris 2, which shows all triangles that are being rendered, even those which are behind other objects and not visible in the final image.

Here is a better video with r_tris you can clearly see that at the center of the room, even thou behind walls, other models/entities tris show up with r_tris 2 on, while the other peace in the void do not, two when clipping the wall the other "room" tris show up and while in clear view of the camera, it totally vanishes from view, including the tris visualization when I backup into the room. I don't know how else to read this but the engine culling it. 

https://drive.google.com/file/d/18yd3014cnRGnF4bF9DbR1ynLNZjObxLv/view?usp=sharing

Link to comment
Share on other sites

2 hours ago, stgatilov said:

So the flood fill obviously starts from every entity. As for visleafs, they are simply connected components of nonopaque BSP volumes, separated by visportals and opaque volumes.

 

2 hours ago, HMart said:

I don't know how else to read this but the engine culling it. 

https://drive.google.com/file/d/18yd3014cnRGnF4bF9DbR1ynLNZjObxLv/view?usp=sharing

Yes, that looks pretty conclusive, and suggests that @stgatilov's theory is correct. The engine is indeed dividing the map into disconnected regions separated by opaque volumes, and culling everything not reachable from the current room, without any need for visportals.

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.

  • Recent Status Updates

    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 5 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
    • The Black Arrow

      I wanna play Doom 3, but fhDoom has much better features than dhewm3, yet fhDoom is old, outdated and probably not supported. Damn!
      Makes me think that TDM engine for Doom 3 itself would actually be perfect.
      · 6 replies
    • Petike the Taffer

      Maybe a bit of advice ? In the FM series I'm preparing, the two main characters have the given names Toby and Agnes (it's the protagonist and deuteragonist, respectively), I've been toying with the idea of giving them family names as well, since many of the FM series have named protagonists who have surnames. Toby's from a family who were usually farriers, though he eventually wound up working as a cobbler (this serves as a daylight "front" for his night time thieving). Would it make sense if the man's popularly accepted family name was Farrier ? It's an existing, though less common English surname, and it directly refers to the profession practiced by his relatives. Your suggestions ?
      · 9 replies
    • nbohr1more

      Looks like the "Reverse April Fools" releases were too well hidden. Darkfate still hasn't acknowledge all the new releases. Did you play any of the new April Fools missions?
      · 5 replies
×
×
  • Create New...