Hey lets fix this shit already "Polymer related issues"
#1 Posted 10 January 2011 - 01:30 PM
1. They look fine without big ass polymer lights coming out of them. That's what glowmaps are for, people!
2. Look at the frame rate difference in the two shots. In the shot without lights, it is 141. With lights, frame rate plummets to 40. Jesus fucking Christ.
3. Making light come out of switches by default often looks like crap, and it might ruin what the level designer is going for.
There might be other sprites that should have lights disabled. If anyone can think of them, I'll do it.
#2 Posted 10 January 2011 - 02:09 PM
#3 Posted 10 January 2011 - 02:21 PM
Plagman, on Jan 10 2011, 02:09 PM, said:
It's not so easy to find out. What I'm doing there is setting the flag that disables the hardcoded lights using CON code. I would need to modify the source code to control the radius. I will predict that it would look better but that framerate would be about the same as having the larger lights. Since imo it looks fine with no light, I'll keep it that way.
Consider also that the hardcoded lights can play havok with level design. In that shot, for example, a spotlight coming from behind the player might look great, casting the player's shadow on the door. But the effect will look quite different when there are already so many lights on the surfaces.
This post has been edited by DeeperThought: 10 January 2011 - 02:22 PM
#4 Posted 10 January 2011 - 02:51 PM
If it's too much to make the radius smaller then i think you should simply turn the polymer lights off. I prefer that instead of the big lights that could blind a man in real life.
Just take care that you don't make it a habit.
#5 Posted 10 January 2011 - 03:31 PM
#6 Posted 10 January 2011 - 04:40 PM
#7 Posted 10 January 2011 - 08:35 PM
DeeperThought, on Jan 10 2011, 04:40 PM, said:
That actually sounds like a pretty good idea, I put that into my water particle actor since having a few in one map drug things down on classic render, and thats not a good thing.
I think the lights are excessive in size for LEDs, although having no light seems to be too plain, but speed wise it's probably a good thing not to have so much lighting. Light is the real killer.
#8 Posted 10 January 2011 - 08:43 PM
Perhaps code could be added to switches - either in the source code or con - to detect if the switch is near another switch and how many other switches are there, if it is less than a certain distance and there are more than so many switches (more than 2 in the same sector?) it will not cast light.
Just a thought.
Edit: And yeah, the light is excessive, I know superbright LEDs are always improving, but they aren't that good yet.
This post has been edited by High Treason: 10 January 2011 - 08:46 PM
#9 Posted 10 January 2011 - 09:20 PM
Also, did you mean for this thread to be open to suggestions for Polymer related issues? Because I can always bitch on about the transparency problems on sprite / texture borders
#10 Posted 10 January 2011 - 09:59 PM
Sobek, on Jan 10 2011, 09:20 PM, said:
Also, did you mean for this thread to be open to suggestions for Polymer related issues? Because I can always bitch on about the transparency problems on sprite / texture borders
Could always treat lights as a separate object or even a special tag. Hardcoded stuff is already a little vexing.
#11 Posted 10 January 2011 - 10:04 PM
#12 Posted 10 January 2011 - 11:10 PM
Sobek, on Jan 10 2011, 09:20 PM, said:
Also, did you mean for this thread to be open to suggestions for Polymer related issues? Because I can always bitch on about the transparency problems on sprite / texture borders
The purpose of the thread was to bitch about Polymer related issues. Specifically, I wanted to start with ones that can easily be fixed. I guess I could have posted in the papercuts thread, but I felt like starting a new thread.
For me, the performance aspect is the number one reason to not have switches give off light by default, and the level design issue is second (but still important). It is good that they can be turned off by setting a flag in CON, but having full control of them would be better obviously.
#13 Posted 11 January 2011 - 01:20 AM
We may have to investigate the levels and see where else this sort of thing occurs. It could be that we can get a few extra fps with exchanging 'switch lights' for one or two carefully placed se lights.
#14 Posted 11 January 2011 - 03:10 AM
Sobek, on Jan 11 2011, 08:20 AM, said:
Yup, sometime when I tried to play Last Pissed Time in Polymer, I had a funny glitch due to the way its hard-coded lights work:
#15 Posted 11 January 2011 - 03:33 AM
#16 Posted 11 January 2011 - 06:34 AM
1 - They are hard-coded. Nuff said.
2 - Objects are affect by their own lights (shots: how it is, how it should be)
3 - Lights close to each other cause an overpowered light effect (shot -> I) a light II) several lights in the polymer III) how lights should react placed close to each other)
This post has been edited by Fox: 11 January 2011 - 06:35 AM
#17 Posted 11 January 2011 - 10:45 AM
DanM, on Jan 11 2011, 03:33 AM, said:
Good point, so I'm adding this code to DP:
onevent EVENT_SPAWN ifvare sector[THISACTOR].lotag 32767 ifvarn sprite[THISACTOR].statnum 4 { getactor[THISACTOR].htflags temp orvar temp 256 setactor[THISACTOR].htflags temp } endevent
That means any sprite that starts in a secret area, unless it is a projectile, will make no hardcoded light. I also added a line to the atomichealth actor so that it does light up when you enter its sector.
Maybe there should be a sector hitag for killing hardcoded light? That way you could have a dark zone without the secret area message.
#18 Posted 11 January 2011 - 03:20 PM
#19 Posted 11 January 2011 - 03:24 PM
Gambini, on Jan 11 2011, 03:20 PM, said:
That's one reason I think Polymer lights should only be used for larger light sources. Glowmaps are perfect for making tiny lights and don't hog resources.
#20 Posted 11 January 2011 - 03:44 PM
#21 Posted 11 January 2011 - 04:08 PM
#22 Posted 11 January 2011 - 05:55 PM
DeeperThought, on Jan 11 2011, 03:24 PM, said:
I wouldn't say they're perfect by any stretch of the imagination. Sure, they look better than nothing at all. The difference of quality between your two shots is tremendous, and you won't find a lot of people claiming that the first one looks worse (empirically, whether or not it suits Duke3D is off-topic here). Sure, it's overdone. From an artistic standpoint we can debate whether we need to reduce the light radius, push it further into the switch so that it doesn't light itself as much. We can also say that light shining from secret areas you haven't discovered is a problem and try to fix that bug. But let's not claim outright that the latter looks better, because that's just not true.
Also (to echo the end of your sentence and what MusicallyInspired said), I'm of the opinion that performance issues shouldn't impair artistic direction; people not getting the performance they're after are free to tweak their settings to remove these low-priority lights using r_pr_maxlightpriority. I acknowledge performance isn't where it should be and I have full intent to address that (as always, it's only a question of time at this point; it can and will be done), but we need to stay focused on shooting for the look we want, not compromise based on temporary performance concerns.
#23 Posted 11 January 2011 - 06:04 PM
However you also have to take in that Duke3d is a fast paced action game, so speed should take precedent. Although I know that more modern computers, or better built ones, have less or no problems.
But the best solution would not to have it hard coded, or even have it trigger by a simple flag that can reside in the config, be triggerable, or even disabled if the mod doesn't need it.
This post has been edited by Scott_AW: 11 January 2011 - 06:05 PM
#24 Posted 11 January 2011 - 06:07 PM
But i am glad that you guys are worked on it, and that you want to work on it.
#25 Posted 12 January 2011 - 02:29 AM
I really don't think the first shot looks 'better'. I think whats going to have to happen is that if we knock the hard-coded lights on the head (which I think looks far more realistic in most instances), then we'll have to add a few SE lights here and there to make up for the glow. As if we don't have any lights in a scene, nobody can see any of the Polymer goodness actually at work. If we used the glowmaps instead of the hard coded, we could better distribute the lights in a level and get a better overall lighting effect.
#26 Posted 12 January 2011 - 06:23 AM
In fact, that's my problem with Polymer right now. When there's no lights everything looks completely flat. That's not entirely realistic and I don't think other modern engines behave that way either. Of course, Polymer is limited in what it can do (for now) and can't really be compared to other game engines but this is the single most glaring Polymer issue that bothers me. I find myself hunting for light sources just to enjoy Polymer's capabilities when really things shouldn't seem so flat anyway.
EDIT: Sort of ninja'd.
This post has been edited by MusicallyInspired: 12 January 2011 - 06:24 AM
#27 Posted 12 January 2011 - 08:29 AM
MusicallyInspired, on Jan 12 2011, 06:23 AM, said:
They do, it's just that they have static light sources built-in the map. For example, a map in HL2 is pitch black until you start lighting it up. The problem here is that we've got the modern lighting layer of top of the classic Duke3D shade system, which can only be used as diffuse lighting and won't show off any of these features because of that. The vision Parkar and I had was for Polymer to just ignore the shade and start from darkness, and that's what the E1L1 maphacks were aiming for.