EDuke32 2.0 and Polymer! "talk about the wonders of EDuke32 and the new renderer"
#4615 Posted 29 April 2014 - 12:09 PM
#4616 Posted 30 April 2014 - 03:37 PM

The solution I can think of would require the fog being rendered in two steps, one which darkens the textures and a second one that adds the fog as if the texture shade is ≤ 0.
Speaking mathematically:
This post has been edited by Fox: 30 April 2014 - 05:45 PM
#4617 Posted 01 May 2014 - 02:10 AM
Fox, on 30 April 2014 - 03:37 PM, said:
Are you referring to the fact that with Polymost and r_usetileshades 1, a texture's constant darkening is also a function of its sector's visibility? (Note that there's no such thing as "a texture's visibilty". It makes only sense to speak of the sector member 'visibility', or as the per-pixel attenuation with distance from the eye.) In fact, that's my major beef with TX's original "use tile shades" mode: it just doesn't make a lot of sense to take something that's varying per-pixel and apply that uniformly to a texture.
For this reason, I propose making r_usetileshades 2 the default, which uses lookup tables for the constant darkness attenuation (i.e. shade) and models fog/visibility as linear fading with distance with a particular color. TX, I understood your last comment to mean that you're fine going forward with that?
Fox: what are the renderer settings you're using in that screenshot? Setting r_showcoords to 2 will show some of the relevant ones.
#4618 Posted 01 May 2014 - 10:40 AM
Helixhorned, on 01 May 2014 - 02:10 AM, said:
It would be kinda of weird for me if non-black fog behavior was different, especially because you can have a fog that is 99% black yet would be different.
#4619 Posted 01 May 2014 - 02:26 PM
Quote
darkening of a texture. It is more faithful to classic with respect to
fog/visibility *distances*, but may be less so as far as the "tint" of the
texture due to visibility attenuation is concerned.
Fox, on 01 May 2014 - 10:40 AM, said:
Helixhorned, on 01 May 2014 - 02:10 AM, said:
It would be kinda of weird for me if non-black fog behavior was different, especially because you can have a fog that is 99% black yet would be different.
I should have said "models fog/visibility exclusively as linear fading with distance with a particular color." Fading with distance (i.e. using glFog()) is what the OpenGL normally do in the absence of per-pixel shade table lookups (as currently only implemented with Polymer's r_pr_artmapping). What the original r_usetileshades 1 does is that it basically splits the darkening due to a sector's visibility and puts a part of that as uniform texture attenuation, and the "remaining" part goes into the actual fragment-depth-dependent fogging. As a consequence, with r_usetileshades 1 fog can sometimes cut off much farther compared to classic, as seen on the earlier E1L1 air duct screenshots. (It still cuts off slightly farther with r_usetileshades 2, but only by a small constant factor.)
Quote
Ah, I see. It only now dawned to me what you meant. Yes, an object's shade also determines the fog parameters, and with linear fog, in particular the far cutoff distance. This is simply due to the OpenGL modes modeling fog after classic, and is easily seen in the central palookup equation (or the inversion thereof). In r4460, I made an object's shade not contribute to fog parameters if that fog comes indeed from a sector[].fogpal -- the fog calculation is done as if the shade were 0. I'm kind of happy with this special case for 'fogpal' because it differentiates it from setting the same pal as .floorpal on the sector.
#4620 Posted 01 May 2014 - 03:13 PM
Edit: Since negative shade has no effect with .filler fog, wouldn't it also make sense to remove the glow colors (or glowmaps from highres textures) in the fog?
This post has been edited by Fox: 02 May 2014 - 06:21 PM
#4622 Posted 03 May 2014 - 03:57 AM
Fox, on 01 May 2014 - 03:13 PM, said:
IMO whether fullbright colors "shine through" the fog should be a property defined together with a particular pal number, to mimic the behavior of how the corresponding palookup table is set up. Currently, things are a little inconsistent between classic and the non-per-pixel-lookup GL modes (apart from the fact that 8-bit mode doesn't directly support fogpal at all). The default fog palettes are set up such that the fading also applies to the fullbright color indices, >= 240. The lookup result indices could in theory be also fullbright, but for sufficently large shade indices, they shouldn't. On the other hand, the OpenGL modes make fullbright colors always shine through. The other major difference is that in the 32-bit modes, a fogged .floorpal is applied automatically to walls and the ceiling of that sector, whereas in classic you'd have to set it manually.
Fox, on 02 May 2014 - 08:05 PM, said:
How so? The changes have only been adding new stuff, not breaking old things, at least not intentionally.
#4623 Posted 07 May 2014 - 12:33 PM
[gcc.exe (i686-posix-sjlj-rev1, Built by MinGW-W64 project) 4.9.0]:
c:/Users/leod/_VCS/eduke32/platform/Windows/lib/32\libSDL2main.a(SDL_windows_main. o): In function `console_main': /Users/slouken/release/SDL/SDL2-2.0.3-source/foo-x86/../src/main/windows/ SDL_windows_main.c:140: undefined reference to `SDL_main' collect2.exe: error: ld returned 1 exit status Failed linking executable eduke32.exe!
[gcc is /mingw/bin/gcc gcc.exe (x86_64-posix-seh-rev1, Built by MinGW-W64 project) 4.9.0 RENDERTYPE=WIN]:
C:/Progs/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.0/../. ./../../x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a- crt0_c.o):crt0_c.c:(.text.startup+0x25): undefined reference to `WinMain' collect2.exe: error: ld returned 1 exit status Failed linking executable eduke32.exe!
#4624 Posted 07 May 2014 - 02:19 PM
// Workaround for a bug in mingwrt-4.0.0 and up where a function named main() in misc/src/libcrt/gdtoa/qnan.c takes precedence over the proper one in src/libcrt/crt/main.c. #if (defined __MINGW32__ && __GNUC__ == 4 && __GNUC_MINOR__ >= 8) || (defined __clang__ && __clang_major__ == 3 && __clang_minor__ >= 4) # include "mingw_main.c" #endif
EDIT: From the GCC changelog:
Quote
I have a feeling this could be related.
EDIT 2: It could also be a problem in this early MinGW-w64 build. As I wrote on the wiki, I prefer rubenvb's personal builds for MinGW-w64. His folder shows recent activity but nothing for 4.9 yet. I ultimately prefer mainline MinGW, but they are rather slow to update GCC releases.
This post has been edited by Hendricks266: 07 May 2014 - 02:35 PM
#4625 Posted 07 May 2014 - 04:13 PM
Hendricks266, on 07 May 2014 - 02:19 PM, said:
Hendricks266, on 07 May 2014 - 02:19 PM, said:
Hendricks266, on 07 May 2014 - 02:19 PM, said:
#4626 Posted 07 May 2014 - 04:15 PM
#4627 Posted 07 May 2014 - 04:41 PM
Hendricks266, on 07 May 2014 - 04:15 PM, said:
#4628 Posted 15 May 2014 - 12:55 AM
#4629 Posted 15 May 2014 - 10:30 PM
Mickey C, on 15 May 2014 - 12:55 AM, said:
Starting with eduke32_osx-gtk2_lion_svn4466.dmg it is added again now.
Find it here: http://dukeworld.duk...et/eduke32/mac/
#4630 Posted 17 May 2014 - 05:48 PM
#4631 Posted 17 May 2014 - 10:45 PM
Mickey C, on 17 May 2014 - 05:48 PM, said:
Open a Finder window, move the mouse to the menu "Go", press the ALT key, go to "Library". In there is a folder "Application Support". You need to create a new folder "EDuke32" in here and place all the data files from your DOS Duke Nukem 3D installation there.
#4632 Posted 17 May 2014 - 11:20 PM
#4633 Posted 18 May 2014 - 05:49 AM
Seems they forgot mingw64/lib/libiberty.a. I have copied the 4.8.2 version as a workaround.
This post has been edited by Mblackwell: 18 May 2014 - 10:02 PM
Reason for edit: spoilered for HUGE
#4634 Posted 18 May 2014 - 02:22 PM
What I mean is, in a map I've made I've made a spaceship throwing rockets E2L1 style. It works like intended in eduke32 but when trying the map in dos duke3d and in megaton, the rockets would always hit a boarder of the spaceship and not come to the player.
It's not really a problem (i'm sure i can fix this so that it works in all dukes), just wondering.
#4635 Posted 19 May 2014 - 07:06 AM
MetHy, on 18 May 2014 - 02:22 PM, said:
What I mean is, in a map I've made I've made a spaceship throwing rockets E2L1 style. It works like intended in eduke32 but when trying the map in dos duke3d and in megaton, the rockets would always hit a boarder of the spaceship and not come to the player.
It's not really a problem (i'm sure i can fix this so that it works in all dukes), just wondering.
An educated guess: EDuke32 uses higher bit numbers and so has more precision when calculating how to aim at the player. This can make a large difference if the player is far away, especially if the player is above or below the rocket.
#4636 Posted 19 May 2014 - 08:47 AM
Trooper Dan, on 19 May 2014 - 07:06 AM, said:
Would that make a difference regarding enemies, too ?
#4637 Posted 19 May 2014 - 09:32 AM
MetHy, on 19 May 2014 - 08:47 AM, said:
If my guess is correct and if enemies use the same aiming function (which they probably do), then yes. But it wouldn't be as noticeable, because enemies are coded to fire only when they have a line of sight to the player and they tend to fall asleep when they are far away.
#4638 Posted 19 May 2014 - 09:57 AM
#4639 Posted 19 May 2014 - 01:00 PM
#4640 Posted 20 May 2014 - 03:55 AM
The only way I could make it work in classic Duke was if I lowered the subway SE (which is where the rockets come from) by at least 15-20 units (come to think of it, the spaceship in E2L1 wasn't that high above the player), however that wouldn't work at all in the level I've made unless I completely reshape the whole level, and even then it wouldn't be as good as it is now.
I've tried everything btw and the source of the rocket shooting being too high is the only explanation I've found. It has nothing to do with the rockets hitting the spaceship itself or the sky, or the size and shape of the sector, etc
Conclusion : the level will be eduke32 only (even though I like my levels to be playable in all dukes if possible). What pisses me off a little though is how I had no idea those subway parallax sector rockets behaved differently in eduke32, and if I had known, considering how early on I implemented that spaceship, I COULD have come up with a way to make it work in all Dukes. Now though, it's too late as reshaping the whole level at this point is out of question.
Then again, how could I have known; I doubt even the makers of eduke32 knew those rockets behave differently than in classic Duke.
Something else completely different now : the sprite no shade feature doesn't work on flat ("ground aligned") sprites when there is a parallax sky above. Is that how it's always been?
#4641 Posted 20 May 2014 - 04:03 AM
#4642 Posted 20 May 2014 - 04:04 AM
MetHy, on 20 May 2014 - 03:55 AM, said:
It only works for floor shade, if you have a parallaxed ceiling, the sprite will take its shade. Check out the cables in my CBP map for the winch system outside.
#4643 Posted 20 May 2014 - 04:13 AM
#4644 Posted 20 May 2014 - 07:37 AM
Daedolon, on 20 May 2014 - 04:04 AM, said:
That's a bug. spritenoshade is supposed to make the sprite unaffected by the sector's shade, regardless of whether it is floor or ceiling.

Help
Duke4.net
DNF #1
Duke 3D #1



