Then a good compromise in my opinion to fit in with this conveniently—and while though this probably should be made in a separate topic—would be to also make an option called "Mod-defined" for billboarding as well. I guess it's either that or what you said for me!Rachael wrote:With the concerns that Hellser voiced
Forced 'Camera Facing' Flag for Actors
Moderator: GZDoom Developers
- nazakomu
- Posts: 131
- Joined: Wed Nov 30, 2016 12:51 am
- Graphics Processor: nVidia with Vulkan support
Re: Forced 'Camera Facing' Flag for Actors
- Major Cooke
- Posts: 8175
- Joined: Sun Jan 28, 2007 3:55 pm
- Preferred Pronouns: He/Him
- Location: QZDoom Maintenance Team
Re: Forced 'Camera Facing' Flag for Actors
...Redoing post. I kinda screwed up.
Last edited by Major Cooke on Thu Aug 24, 2017 9:42 pm, edited 2 times in total.
- Pixel Eater
-
- Posts: 667
- Joined: Wed Aug 02, 2017 12:31 am
- Location: In between the Moon and you, between the buried and me.
Re: Forced 'Camera Facing' Flag for Actors
Ok, second try:
[Deleted]
This is the mod I would like to finish with the camera facing flag in mind. These early "choices" I've made are mostly the result of copying/pasting so don't reflect what it will be, plus there is more to add. I'm hoping this will give some sort of indication of what I am trying to achieve even though It's far from finished.
Notice in E1M1 how the tech pillars either side of the stairs leading to the green armor stay upright no matter which billboard style is used but the carcass on the blue floor is still customizable? Stand outside by the blue armor and let the Imp throw a fireball at you. Freeze the game once it is through the window and look up underneath it. It will always look round due to always being in 'X/Y' mode (actually it changes it's shape but that's another issue). So three things are happening at once, 'Y', 'X/Y' and the user preference wildcard instead of just one of those.
The point is that I was scared away from using 'X/Y' mode because the Tech Pillar, Big Tree, Cyberdemon and others looked so bad but then with 'Y' I was disliking other sprites for different reasons. The same applies to camera facing. It looks good for some things but not others.
[Deleted]
This is the mod I would like to finish with the camera facing flag in mind. These early "choices" I've made are mostly the result of copying/pasting so don't reflect what it will be, plus there is more to add. I'm hoping this will give some sort of indication of what I am trying to achieve even though It's far from finished.
Notice in E1M1 how the tech pillars either side of the stairs leading to the green armor stay upright no matter which billboard style is used but the carcass on the blue floor is still customizable? Stand outside by the blue armor and let the Imp throw a fireball at you. Freeze the game once it is through the window and look up underneath it. It will always look round due to always being in 'X/Y' mode (actually it changes it's shape but that's another issue). So three things are happening at once, 'Y', 'X/Y' and the user preference wildcard instead of just one of those.
The point is that I was scared away from using 'X/Y' mode because the Tech Pillar, Big Tree, Cyberdemon and others looked so bad but then with 'Y' I was disliking other sprites for different reasons. The same applies to camera facing. It looks good for some things but not others.
Last edited by Pixel Eater on Sun Aug 27, 2017 8:52 pm, edited 3 times in total.
- nazakomu
- Posts: 131
- Joined: Wed Nov 30, 2016 12:51 am
- Graphics Processor: nVidia with Vulkan support
Re: Forced 'Camera Facing' Flag for Actors
Just as I agree with the rest of his post. And I think it should be both for the camera and the billboarding options, then with best of luck, modders can get suggestions on their mod's threads to force X or X/Y input for certain actors/objects to fit in with the camera's option or vice versa!Major Cooke wrote:I agree, it should be user preference such as the on/mod-defined/off setting I proposed.
- Major Cooke
- Posts: 8175
- Joined: Sun Jan 28, 2007 3:55 pm
- Preferred Pronouns: He/Him
- Location: QZDoom Maintenance Team
Re: Forced 'Camera Facing' Flag for Actors
https://puu.sh/xiWe3/480dd9f044.png <-- No sprite facing
https://puu.sh/xiWhD/7ec867c362.png <-- Sprite facing
https://puu.sh/xiWjg/a4ddbbd69b.png <-- Sprite facing
https://puu.sh/xiWk0/edc9fbf0b0.png <-- No sprite facing (What the fuck!? XD)
Which is why an on/mod-defined/off switch setting would be very handy here. Because with Y billboarding...
https://puu.sh/xiWnu/efaff04acf.png <-- Flat as a pancake and a cookie cutter. Absolutely not doing what I desired, and that's to make 'em loom real mean-like.
Obviously some scenarios it wouldn't work as well, like say if you did this to a cyberdemon. Hence why modders should be allowed to use +FACECAMERA so when it's mod-defined, it looks as how the modder envisioned it. Since some may disagree, they can simply switch it to all off or on to their own content.
In no way, shape or form does Y billboarding possibly work in this case, looks bad to me. I'd expect her not to be a poster board.
https://puu.sh/xiWhD/7ec867c362.png <-- Sprite facing
https://puu.sh/xiWjg/a4ddbbd69b.png <-- Sprite facing
https://puu.sh/xiWk0/edc9fbf0b0.png <-- No sprite facing (What the fuck!? XD)
Which is why an on/mod-defined/off switch setting would be very handy here. Because with Y billboarding...
https://puu.sh/xiWnu/efaff04acf.png <-- Flat as a pancake and a cookie cutter. Absolutely not doing what I desired, and that's to make 'em loom real mean-like.
Obviously some scenarios it wouldn't work as well, like say if you did this to a cyberdemon. Hence why modders should be allowed to use +FACECAMERA so when it's mod-defined, it looks as how the modder envisioned it. Since some may disagree, they can simply switch it to all off or on to their own content.
In no way, shape or form does Y billboarding possibly work in this case, looks bad to me. I'd expect her not to be a poster board.
Re: Forced 'Camera Facing' Flag for Actors
I hate to do this to you, Cooke - but I think that example (as the mod, itself) is going to need to be posted, at the very least, in PM to the development team. I'd say you made your case enough at least to try a PR, though, but we need that example to go with it.
I think this is purely a case of we really need the real-world example to go with it in order to make a final decision. I am still not 100% convinced, but you are right that those look horribly wrong. The thing is, I am still not convinced that any method of showing XY billboarding at extreme angles will be the correct one, though.
I think this is purely a case of we really need the real-world example to go with it in order to make a final decision. I am still not 100% convinced, but you are right that those look horribly wrong. The thing is, I am still not convinced that any method of showing XY billboarding at extreme angles will be the correct one, though.
- Major Cooke
- Posts: 8175
- Joined: Sun Jan 28, 2007 3:55 pm
- Preferred Pronouns: He/Him
- Location: QZDoom Maintenance Team
Re: Forced 'Camera Facing' Flag for Actors
I don't mind posting a stripped down version here. I'll just include some of the sprites of one state and position it properly, then we'll be good to go.
If you want I can show you a blender view of this looking down to help provide that real world example in addition.
Granted, we can't make it perfect because these are all PNGs but the modder can, at the very least, be allowed to choose what looks better at the very least.
If you want I can show you a blender view of this looking down to help provide that real world example in addition.
Granted, we can't make it perfect because these are all PNGs but the modder can, at the very least, be allowed to choose what looks better at the very least.
Last edited by Major Cooke on Thu Aug 24, 2017 10:23 pm, edited 1 time in total.
- Pixel Eater
-
- Posts: 667
- Joined: Wed Aug 02, 2017 12:31 am
- Location: In between the Moon and you, between the buried and me.
Re: Forced 'Camera Facing' Flag for Actors
I think the only solution is the one which bases it on relative incline. If the relevant sprite is on the same elevation as you are it should stay 'Y' billboard but progress to 'X/Y' the higher or lower it gets. Except now I'm picturing the same thing as camera facing but up and down as another option so I need to go stand in the corner and think for a whileThe thing is, I am still not convinced that any method of showing XY billboarding at extreme angles will be the correct one, though.
- Major Cooke
- Posts: 8175
- Joined: Sun Jan 28, 2007 3:55 pm
- Preferred Pronouns: He/Him
- Location: QZDoom Maintenance Team
Re: Forced 'Camera Facing' Flag for Actors
If you'd rather an animated and moving example though, Rachael, I can do that too. I'll set up a test map where it does its stuff so you can see it in that case.
Re: Forced 'Camera Facing' Flag for Actors
Yeah that was something interesting to think about. With the cyberdemon example you posted earlier - if you have the cyberdemon towering above you, but he's behind you, it would look horribly wrong to see his hoofs on camera rather than his upside-down face. Of course, that could be fixed with Y-billboarding, but when XY-billboarding is used it's a whole different story.
What I'd do for your example is to force the player to stand on top of a transparent platform (can be done with a sector portal if you're looking for a quick and easy trick) and remind him to look down. You will not need to set up cameras or restrict his movement.
What I'd do for your example is to force the player to stand on top of a transparent platform (can be done with a sector portal if you're looking for a quick and easy trick) and remind him to look down. You will not need to set up cameras or restrict his movement.
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49066
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Forced 'Camera Facing' Flag for Actors
Taking a quote from the binned part:
The engine is already littered with various projection modes for sprites. But none of them actually work right because it was all 'easily' hacked in without ever taking care of proper render order.
Now, combining camera-facing sprites and player-facing sprites will make the entire system explode with even more serious inconsistencies.
So here's the final verdict: Unless someone finds time to fix the sorting algorithm, there will be no more render modes and render options for sprites that chance the orientation. And I doubt you will be the one to fix it, considering that your additions are the reason that this code needs to be redone - which of course never was on your radar when implementing it.
Sure you can do a PR and surely it is easy. But here's the problem:Major Cooke wrote: In fact I'll just go ahead and work on a PR now, it's pretty simple.
The engine is already littered with various projection modes for sprites. But none of them actually work right because it was all 'easily' hacked in without ever taking care of proper render order.
Now, combining camera-facing sprites and player-facing sprites will make the entire system explode with even more serious inconsistencies.
So here's the final verdict: Unless someone finds time to fix the sorting algorithm, there will be no more render modes and render options for sprites that chance the orientation. And I doubt you will be the one to fix it, considering that your additions are the reason that this code needs to be redone - which of course never was on your radar when implementing it.
Re: Forced 'Camera Facing' Flag for Actors
Now that I think about it, that's a huge problem in the software renderer whenever I've worked with it. I am not surprised to find out that the OpenGL suffers similarly.
Re: Forced 'Camera Facing' Flag for Actors
As someone who's worked on it directly before (and also partially responsible for the mess that it is)... I 1000000% agree on this statement. "Easily hacked in" is an accurate term, and I keep telling myself how stupid and inexperienced I was in hindsight. :SGraf Zahl wrote: The engine is already littered with various projection modes for sprites. But none of them actually work right because it was all 'easily' hacked in without ever taking care of proper render order.
Now, combining camera-facing sprites and player-facing sprites will make the entire system explode with even more serious inconsistencies.
Anyone who's curious, feel free to open gl_sprite.cpp, and take a look at GLSprite::CalculateVertices... cringe! ;(
- Pixel Eater
-
- Posts: 667
- Joined: Wed Aug 02, 2017 12:31 am
- Location: In between the Moon and you, between the buried and me.
Re: Forced 'Camera Facing' Flag for Actors
I'm having a look, It's interesting. I think given time I might be able to understand what's going on
- Major Cooke
- Posts: 8175
- Joined: Sun Jan 28, 2007 3:55 pm
- Preferred Pronouns: He/Him
- Location: QZDoom Maintenance Team
Re: Forced 'Camera Facing' Flag for Actors
And I am quite through with playing the messenger and being shot because someone else's code (yes, that code is not my own). I've learned my lesson and won't be doing that again. I'm tired of being a meat shield for this.Graf Zahl wrote:So here's the final verdict: Unless someone finds time to fix the sorting algorithm, there will be no more render modes and render options for sprites that chance the orientation. And I doubt you will be the one to fix it, considering that your additions are the reason that this code needs to be redone - which of course never was on your radar when implementing it.