Archvile
User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Doom Editing > Visplane Explorer : new 0.80 version
Pages (3): « 1 [2] 3 »  
Author
All times are GMT. The time now is 10:28. Post New Thread    Post A Reply
ReX
Senior Member


Posts: 1743
Registered: 05-00


Is it possible to know precisely where a visplane overflow will occur and to highlight the most likely culprits? I have a map for vanilla Doom that has been crashing (running chocolate-doom) with visplane errors, and I have been systematically trimming the areas that I believe are causing the problem. I ran Visplane Explorer and looked at the results, but am no closer to definitively knowing if the error remains and what the source of the error is.

Old Post Jun 7 2012 02:12 #
ReX is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
andrewj
Senior Member


Posts: 1722
Registered: 04-02


Areas that definitely overflow show up in red, otherwise the brighter shades of brown have the most visplanes.

I suggest not merely trying to get rid of red areas, but have a "safety buffer" of say 10 or 20 planes below the limit.

Windows are often bad for visplane counts, it can double the number of visplanes (the current room + the nearby room). Making them high enough so the player cannot see any floors through the window helps (but of course that usually ruins the effect).

You can also add "fences", a 64 unit high (or so) sector which the player cannot get on and which blocks the view of the floors in a large room, especially at the highest parts of a room.

Stairs can be bad too -- you can make bigger steps or replace them with a lift.

Lighting gradients (the same sector textures and heights, but only difference is the light levels) also increase visplane counts.

Hope that helps

Old Post Jun 7 2012 03:42 #
andrewj is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
esselfortium
A Major Doomworld Concern


Posts: 7053
Registered: 01-02



ReX said:
Is it possible to know precisely where a visplane overflow will occur and to highlight the most likely culprits? I have a map for vanilla Doom that has been crashing (running chocolate-doom) with visplane errors, and I have been systematically trimming the areas that I believe are causing the problem. I ran Visplane Explorer and looked at the results, but am no closer to definitively knowing if the error remains and what the source of the error is.

Have you tried running Chocorenderlimits? It'll show you the visplane counts (among other things) for your current position at any given time, so you can get a clearer idea of what exactly will trigger it. It can also outline each individual plane, so you can see where they're concentrated.

Old Post Jun 7 2012 05:41 #
esselfortium is offline Twitter account Youtube || Blog || PM || Post History || Add Buddy IP || Edit || Quote
ReX
Senior Member


Posts: 1743
Registered: 05-00



andrewj said:
Areas that definitely overflow show up in red, otherwise the brighter shades of brown have the most visplanes.

I suggest not merely trying to get rid of red areas, but have a "safety buffer" of say 10 or 20 planes below the limit.

My map has no red areas, and I had figured out that the lighter the brown, the greater the number of visplanes. What I'm experiencing is a visplane overflow only around a narrow range of coordinates, when looking in a particular direction. I had figured this out the hard way (i.e., moving around each possible area of the map to see if the game would crash) even before I discovered Visplane Explorer. I was curious to know if the utility could include a flag that indicates that a visplane overflow will occur (or at least the probability of one), and from what coordinates.

esselfortium said:
Have you tried running Chocorenderlimits? It'll show you the visplane counts (among other things) for your current position at any given time, so you can get a clearer idea of what exactly will trigger it. It can also outline each individual plane, so you can see where they're concentrated.

I'll be sure to give it a shot. I believe this may be what I was asking andrewj above. Thanks.

Old Post Jun 7 2012 13:02 #
ReX is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
andrewj
Senior Member


Posts: 1722
Registered: 04-02


Yeah Chocorenderlimits will let you try certain spots and angles better, Visplane Explorer only tests 8 view angles (the major compass directions) so potentially misses some overflows.

V.E. also doesn't open doors, raise stairs or lower floors, and that can increase the visplanes (very significantly in some maps).

Old Post Jun 7 2012 14:02 #
andrewj is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
ducon
Régulier du Forum


Posts: 1453
Registered: 12-03


The Linux version crashes (segfault) with Deus Vult’s map05.

__________________
A shell, an imp.

Old Post Dec 23 2012 20:30 #
ducon is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Egregor
Member


Posts: 299
Registered: 11-12


So, I need some really basic help using this program:

A: When I load a map into VE on its own I get a blank map. White boarders, black and blue background. I don't get any analysis. Changing the settings shows no visual map change. How do I get it to render information?

B: How, in very lamen terms, do I load VE into DB2? I've got no idea. DB2 doesn't currently display a VE button option.

Old Post Dec 24 2012 00:43 #
Egregor is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
andrewj
Senior Member


Posts: 1722
Registered: 04-02



ducon said:
The Linux version crashes (segfault) with Deus Vult’s map05.

That map will crash DOOM too.

Visplane Explorer assumes the map works in DOOM.EXE

Egregor wrote:
When I load a map into VE on its own I get a blank map.

Press TAB to toggle analysis mode (I know, should be a gui button)

Also make sure the map is DOOM format -- VE does not support Hexen format maps (or UDMF).

Note too that the DB2 plugin is a separate thing, I suggest doing a search on the DB2 forums for it.

Old Post Dec 24 2012 00:51 #
andrewj is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
esselfortium
A Major Doomworld Concern


Posts: 7053
Registered: 01-02


Would it be possible to add a mode that somehow visually displays seg splits from the most recent node build?

Old Post Dec 24 2012 00:53 #
esselfortium is offline Twitter account Youtube || Blog || PM || Post History || Add Buddy IP || Edit || Quote
andrewj
Senior Member


Posts: 1722
Registered: 04-02



esselfortium said:
Would it be possible to add a mode that somehow visually displays seg splits from the most recent node build?

Should be quite easy.

hi ho, hi ho, it's off to work I go..... (been meaning to give this program some tlc)

Old Post Dec 24 2012 00:59 #
andrewj is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Egregor
Member


Posts: 299
Registered: 11-12


oh, TAB, heh, right . . . I knew that. It works, thanks. I think I thought I pressed tab before but I really pressed Caps Lock. Somethings wrong with me :P

Old Post Dec 24 2012 01:06 #
Egregor is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
traversd
Forum Regular


Posts: 693
Registered: 01-09



andrewj said:
Should be quite easy.

hi ho, hi ho, it's off to work I go..... (been meaning to give this program some tlc)

Awesome!

Old Post Dec 24 2012 01:56 #
traversd is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Kappes Buur
Senior Member


Posts: 1062
Registered: 11-02



Egregor said:
So, I need some really basic help using this program:
.......
B: How, in very lamen terms, do I load VE into DB2? I've got no idea. DB2 doesn't currently display a VE button option.

Then you are not using the latest SVN version.
eg. since r1599 it is a plugin

Clicking on the VE icon




shows all visplanes and brings up a sub icon to select different modes

Last edited by Kappes Buur on Dec 25 2012 at 18:48

Old Post Dec 24 2012 03:24 #
Kappes Buur is offline || Blog || Post History || Add Buddy IP || Edit || Quote
Xaser
Forum Staple


Posts: 2890
Registered: 07-03



esselfortium said:
Would it be possible to add a mode that somehow visually displays seg splits from the most recent node build?

I hate to be "that assface who bumps for a re-request", but I just found myself wishing for the same thing a few seconds ago. Though chocorenderlimits has a mode to view visplanes, there's nothing at all that shows exactly where the segs are split, which I think would be a super-useful thing when trying to optimize limit-pushing scenes (like I finding myself doing right now... and every time I work on a vanilla map :P ).

Semi-tangent, but IMO, segs have always been a bigger problem than visplanes since the latter can be avoided pretty easily if you know what you're doing. Segs, though... well, that pretty much limits the size of anything you work on, and i can't resist pushing the damn limit until it bends up to breaking. :P

And now, we randomly return you to your regularly scheduled topic.

Old Post Feb 3 2013 20:27 #
Xaser is offline Twitter account || Blog || PM || Post History || Add Buddy IP || Edit || Quote
andrewj
Senior Member


Posts: 1722
Registered: 04-02



Xaser said:
I hate to be "that assface who bumps for a re-request", but I just found myself wishing for the same thing a few seconds ago. Though chocorenderlimits has a mode to view visplanes, there's nothing at all that shows exactly where the segs are split, which I think would be a super-useful thing when trying to optimize limit-pushing scenes (like I finding myself doing right now... and every time I work on a vanilla map :P ).

Nothing wrong with asking for something :)

OK I just implemented it, please try this unofficial test binary:
http://oblige.sourceforge.net/files...7test-win32.zip

Old Post Feb 4 2013 00:24 #
andrewj is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
traversd
Forum Regular


Posts: 693
Registered: 01-09


\o/

Old Post Feb 4 2013 05:47 #
traversd is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Xaser
Forum Staple


Posts: 2890
Registered: 07-03


Well damn! That was quick. :)

That definitely helps -- I actually managed to oust some overflows already with it. Thanks for seeing to it, sir. :D

Old Post Feb 4 2013 05:53 #
Xaser is offline Twitter account || Blog || PM || Post History || Add Buddy IP || Edit || Quote
andrewj
Senior Member


Posts: 1722
Registered: 04-02


Very easy feature to add -- I'm glad it is useful to someone.

Old Post Feb 4 2013 11:33 #
andrewj is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
traversd
Forum Regular


Posts: 693
Registered: 01-09


Would a sub-sector view also be possible/useful? To see where the seg splits relate to or am I misunderstanding the seg splits again? Can you have a subsector on one side of a 2-sided linedef that uses a seg split and another on the other side that doesn't?

Certainly, just the seg splits shows just how much overhead some small detailing can contribute to a scene.

Old Post Feb 11 2013 10:16 #
traversd is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
andrewj
Senior Member


Posts: 1722
Registered: 04-02


Yes you can have a seg split on only one side of a linedef, though it will be a lot rarer than both sides being split (since it can only happen when that linedef sits along a partition line).

I don't plan to add any subsector or node view to Visplane Explorer, that would be better done by a node viewing program (or a DB2 plugin).

Old Post Feb 12 2013 02:42 #
andrewj is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
traversd
Forum Regular


Posts: 693
Registered: 01-09


No worries. Thanks for what you have done already :0)

Old Post Feb 12 2013 05:47 #
traversd is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
esselfortium
A Major Doomworld Concern


Posts: 7053
Registered: 01-02


Question: What actually are solidsegs? The Doom Wiki says they're the same as Openings, but I don't think that's true.

Old Post Feb 16 2013 06:33 #
esselfortium is offline Twitter account Youtube || Blog || PM || Post History || Add Buddy IP || Edit || Quote
andrewj
Senior Member


Posts: 1722
Registered: 04-02



esselfortium said:
Question: What actually are solidsegs? The Doom Wiki says they're the same as Openings, but I don't think that's true.

Solidsegs are not the same as openings.

Solidsegs are for clipping, they remember a horizontal range on the screen (e.g. from pixel 20 to pixel 100 on the 320 pixel wide screen) where a completely solid (one sided) wall has been drawn. Nothing further needs to be drawn in those pixel columns, so subsequent walls are clipped (horizontally) to those ranges.

You could overflow the limit by creating a room with a row of 40 16x16 pillars, where the player can see them all at once. This overflow is not detected by vanilla DOOM engine, so it would corrupt memory and possibly crash.

P.S.

Last edited by andrewj on Feb 16 2013 at 07:00

Old Post Feb 16 2013 06:45 #
andrewj is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
esselfortium
A Major Doomworld Concern


Posts: 7053
Registered: 01-02


I see... Thanks for that!

Old Post Feb 16 2013 07:08 #
esselfortium is offline Twitter account Youtube || Blog || PM || Post History || Add Buddy IP || Edit || Quote
_bruce_
Senior Member


Posts: 1347
Registered: 11-07


andrewj, could you spill a little bit more info on openings?

Old Post Feb 16 2013 18:27 #
_bruce_ is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
andrewj
Senior Member


Posts: 1722
Registered: 04-02


Heh ok.

Openings are strongly related to drawsegs.

Drawsegs remember an on-screen position of a draw seg (wall section). They are remembered for two reasons: (1) for sprite clipping -- because sprites are handled at the end once all the walls and floors are drawn, and (2) for drawing mid-masked textures -- also done at the end.

Each drawseg needs to remember the "opening" for each column of the screen they are on (a top and a bottom pixel coordinate) and these are stored in the openings array. The openings array also stores for some mid-masked texture stuff.

Openings rarely come close to overflowing, and then only when visplanes or drawsegs are excessively above their limits, e.g. ten times the limit -- that's why I removed the display of openings from Visplane Explorer.

Old Post Feb 17 2013 00:57 #
andrewj is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
_bruce_
Senior Member


Posts: 1347
Registered: 11-07



andrewj said:
Heh ok.

Openings are strongly related to drawsegs.

Drawsegs remember an on-screen position of a draw seg (wall section). They are remembered for two reasons: (1) for sprite clipping -- because sprites are handled at the end once all the walls and floors are drawn, and (2) for drawing mid-masked textures -- also done at the end.

Each drawseg needs to remember the "opening" for each column of the screen they are on (a top and a bottom pixel coordinate) and these are stored in the openings array. The openings array also stores for some mid-masked texture stuff.

Openings rarely come close to overflowing, and then only when visplanes or drawsegs are excessively above their limits, e.g. ten times the limit -- that's why I removed the display of openings from Visplane Explorer.

Big thanks!

Old Post Feb 17 2013 12:14 #
_bruce_ is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
CodeImp
Moderator


Posts: 1501
Registered: 12-03


Here is a plugin that allows you to see subsectors, segs and splits (nodes) that the nodebuilder created:
http://www.doombuilder.com/plugins/nodesviewer.zip

Source code for the plugin is in the Doom Builder repository, or here.

Old Post Feb 17 2013 17:10 #
CodeImp is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
esselfortium
A Major Doomworld Concern


Posts: 7053
Registered: 01-02


Holy cantaloupe, Batman!

Old Post Feb 17 2013 17:23 #
esselfortium is offline Twitter account Youtube || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Xaser
Forum Staple


Posts: 2890
Registered: 07-03


The plugin is reeeally cool, but only when it seems to work. Larger maps (I think?) are causing an unhandled exception ("Index was out of range") when trying to fire up the viewer.

As a quick test, trying to run it on Back to Saturn X E1 MAP01 will cause the exception.

[EDIT] Just got word that a new version went up that should fix the crashing. I can't seem to trigger it again -- thanks for the quick fix!

[DOUBLE-EDIT] Hey guys, is this vanilla-compatible?

Last edited by Xaser on Feb 17 2013 at 20:06

Old Post Feb 17 2013 17:43 #
Xaser is offline Twitter account || Blog || PM || Post History || Add Buddy IP || Edit || Quote
All times are GMT. The time now is 10:28. Post New Thread    Post A Reply
Pages (3): « 1 [2] 3 »  
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Doom Editing > Visplane Explorer : new 0.80 version

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.