Announcement

Collapse
No announcement yet.

WorldSpawn official WIP thread

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wait... the second control is on one single bar covering the whole RGB spectrum? So moving either slider effectively changes two colors simultaneously. Wouldn't it be more convenient to control each channel separately?
    ♪ I'm skiiiiiiinnin' in the pain, just skiiiiiiinnin' in the pain ♪
    ♪ What a glorious feelin' I'm haaaaaaappy again ♪

    Comment


    • what is 0.30 + 0.59 + 0.11?

      and how many bars am I making?


      free your mind from rgb sliders. we have a whopping 16 values per channel and very little more than that when you consider that certain channel values are locked into colors that are nothing like the color you want.

      If I made rgb sliders you would start with red, move the green one dot and already be at orange. the way to handle this is re weighting the OFFSET of the sum of OFFSETS. This forces colors to either stop before or after (weight depending) it's closest found value.

      look at it like this

      I have this color bbddcc

      the closest 2 palette matches are afd0b0 or bdd0b0

      by weighting the offsets you can force afd0b0 to be skipped regardless of forgiveness. Or maybe it would be better to say that dominant channels will never be paletted to a color value that is less than the original... that is unless you change the weights which can force dominance on some other channel... even if it isn't dominant.

      however my last posted code and what I'm telling you are not agreeing with each other in a "what's actually happening" sense. This is all terribly confusing. Eventually, I'll get it right. i'm getting closer and closer to what I want this to do. If this was just color theory it would be over and done but, this is color theory based on a very limited set of colors. I understand but am not sure how to programattically expess that the final color we want doesn't have to be the "right" color at all. It just has to be the proper weight. Like my orange glow vs the original red glow for metal6_3. You could redraw the shit by hand from the palette and NEVER get the red glow proper. It should be drawn by weight... the overall brightness of the final color vs the original color. Where that blows out the dominant channel entirely... reweight and grab the color that has the closest average in offsets to it's accompanying channels.
      Last edited by MadGypsy; 11-07-2016, 06:53 PM.
      http://www.nextgenquake.com

      Comment


      • Yes, 1. But these 3 numbers are inter-dependent since their sum must equal 1, I assume? I don't know, it's a candid question, it seems more convenient to me to have one bar per channel with one slider each.
        ♪ I'm skiiiiiiinnin' in the pain, just skiiiiiiinnin' in the pain ♪
        ♪ What a glorious feelin' I'm haaaaaaappy again ♪

        Comment


        • with one slider each it would be nothing but more processes trying to figure out what the actual ratios are and it also would not properly represent what is happening. There is no "sliding" of red green and blue values. Sliding those values implies that you want more or less of them. Again, the bar represents a per channel forgiveness of OFFSETS (actually it represents the weight of offset but the former is easier to mentally digest). An RGB slider has no relation to what my code does.

          Speaking of which. The uppermost image is the original. Whereas it is impossible to directly match colors that do not exist in the palette, it is not impossible to find a complimentary color of (nearly) the same weight. Notice that I may lose the red but I kept nearly the same weight by using a complimentary orange. With my original attempts there was a serious problem with purple dominating the heavier reds. Notice that there is barely any more purple in my images than there is in the original.



          I challenge anyone and everyone to get better results than these. It's simply not possible. You can get different good results. You aren't going to get better ones using the stock 256 color quake palette.
          Last edited by MadGypsy; 11-07-2016, 09:33 PM.
          http://www.nextgenquake.com

          Comment


          • some images were scaled down so they would fit on the screen.





            http://www.nextgenquake.com

            Comment


            • Visual representation of why RGB sliders don't apply

              for the next 3 images I used the values .8,.1,.1 but moved the .8 around.

              red .8 - no visual difference because the image is already red-centric


              green .8


              blue .8


              so, if you were sliding RGB sliders and you (ex) set red to 1, green to 1 and blue to 8, would you expect the results from the last image? Of course not. You would expect the image to be very blue. My one slider design is correct.
              http://www.nextgenquake.com

              Comment


              • A perfect example of painting by weight. The results of course are not ideal but this is a very extreme case. The alternative (painting by color) would be a complete disaster in this case. I'd like to show you what I mean but my program no longer paints by color.


                I had the level of forgiveness at 32, here it is at 0


                random
                Last edited by MadGypsy; 11-08-2016, 12:10 AM.
                http://www.nextgenquake.com

                Comment


                • duh..of course I can paint by color...just amke all the weights the same and suppress skipping. LOL. I don't know what I was thinking. Below is a color paint


                  I think the message is clear - no matter how you go, the quake palette hates green. The green fruit is messed up, the green part of the leopard is gone, the green woods I posted a while back was a lump of blobs. Hmmm, if green is the weakness, maybe everything should be based on how much green there is in the color. I wonder if I fixed the green list in the quake palette if it would destroy all the textures. For instance, let's say I played with green part of the palette til all the fruit looked "correct"...would that destroy the textures that rely on the palette ... or maybe make them look better... only one way to find out, ya know?

                  edit: The "problem" is the "light green" portion of palette isn't green at all, but my algorithm knows it should be. 5th row from the bottom (above yellow). It's like they tried to slam the light green and light blue values into one palette string and call it "good enough". For the leopard it's using the greyscale instead of green. That's my program telling me flat out that there is no palette equivalent of this color...technically bright green. I already know I cannot change that part of the palette. Every stone in quake will become light green.


                  Well, that wraps it up right there. There is no point in attempting any more "picture perfect" results. The few controls I have could probably even be hard set to r:.30,g:.59,b:.11 forgiveness:32 as that seems to be the settings that give the best results almost every time.
                  Last edited by MadGypsy; 11-08-2016, 01:10 AM.
                  http://www.nextgenquake.com

                  Comment


                  • Originally posted by MadGypsy View Post
                    Again, the bar represents a per channel forgiveness of OFFSETS
                    OK, that's what my brain hadn't registered.

                    Hmmm, if green is the weakness, maybe everything should be based on how much green there is in the color. I wonder if I fixed the green list in the quake palette if it would destroy all the textures. (...) I already know I cannot change that part of the palette. Every stone in quake will become light green.
                    I wonder why you're even trying to do that. I mean, you're not making a Quake engine but an engine for game devs. They'll likely use their own palette and textures.
                    ♪ I'm skiiiiiiinnin' in the pain, just skiiiiiiinnin' in the pain ♪
                    ♪ What a glorious feelin' I'm haaaaaaappy again ♪

                    Comment


                    • Originally posted by bfg666 View Post
                      I wonder why you're even trying to do that. I mean, you're not making a Quake engine but an engine for game devs. They'll likely use their own palette and textures.
                      I imagine for educational purposes. The end result will probably be RGB values, forgoing the entire palette method.
                      'Replacement Player Models' Project

                      Comment


                      • @I imagine for educational purposes.

                        Yes, but not entirely

                        @The end result will probably be RGB values, forgoing the entire palette method.

                        Not necessarily. I talked to goldenboy about this a long time ago. He was of the mind that it didn't matter if engines were using all 16mil+ colors a palette should still be used. His reason was simple - continuity. There is another reason though - fullbrights. Having the proper algorithms to convert any RGB image to an acceptable (or better) palette image is necessary. It's not necessary in a "can't live without it" way. It's necessary in a "my engine/tools are gonna be hella robust" way.

                        @ wonder why you're even trying to do that. I mean, you're not making a Quake engine but an engine for game devs. They'll likely use their own palette and textures.

                        Did you miss the post where I'm building a side utility composed of a bunch of tools that I want to rip out of my engine? You keep calling this my engine and explaining my engine to me* but that's not what I'm doing right now. Right now I'm building "photoshop" for wads...

                        *there is a difference between an engine for game devs and an engine for people that want to make games. I don't feel like explaining these differences but, what you think I'm building and what I'm actually building are not the same thing. Really FTE and Darkplaces could be considered an engine for game devs. They more or less follow all the expected conventions with conventional ways to utilize them and allow you to go pretty much as far as you want to go. My engine is going to make things much easier (and sometimes harder). Tools, tools, tools.
                        Last edited by MadGypsy; 11-09-2016, 12:28 PM.
                        http://www.nextgenquake.com

                        Comment


                        • Originally posted by MadGypsy View Post
                          You keep calling this my engine
                          Well you're the author of the program, so it is your engine.

                          and explaining my engine to me*
                          That's not at all what I'm doing, I'm merely repeating your own words. You're the one who explained to me that it wasn't a Quake engine but an engine for game devs, so a) if it's not exactly true it's not my fault and b) it's no surprise that I was wondering why you kept on trying to make Quake assets work as best as possible.

                          Did you miss the post where I'm building a side utility (...) Right now I'm building "photoshop" for wads
                          Yeah, that's the part I was missing. I thought all of this was for the engine itself. So basically, you're also making Wally 2.0, sort of. This I'm sure I'll find some use for.
                          ♪ I'm skiiiiiiinnin' in the pain, just skiiiiiiinnin' in the pain ♪
                          ♪ What a glorious feelin' I'm haaaaaaappy again ♪

                          Comment


                          • One question: will this utility have an option to not dither the submips? Lemme explain: as you might have heard, I'm currently trying to make a Sin City inspired map. To this end, I've modified colored textures into pure, greyless black and white (and even created some of my own). My problem is that when I assemble them into a wad, both TexMex and Wally dither the full-size images to generate the submips and I end up with submips full of greys. This changes the feel of my textures in-game, so I'm looking for a tool that would allow me to do what I need.
                            ♪ I'm skiiiiiiinnin' in the pain, just skiiiiiiinnin' in the pain ♪
                            ♪ What a glorious feelin' I'm haaaaaaappy again ♪

                            Comment


                            • @will this utility have an option to not dither the submips?

                              It will not have an option to not dither cause I don't use dithering in the first place. It will be real simple.

                              1) load up any image you want
                              2) choose scale or pixel mipping. Scale makes mips by scaling. Pixel makes mips by skipping pixels.
                              3) set your level of forgiveness - higher numbers equals less precision
                              4) set your offset weights - tricky tool that you need to play with to understand

                              thats it... click process and get stuff like this


                              On a side note: I decided to revive an old project for this. I have a bit of work to do but making UI elements is going to be really easy. Below is an example of a custom window title bar for my app. It does everything you would expect it to do - even redistributing its children (the buttons, label, icon) based on max/restore. Fully customizable too. It took me less than 5 minutes to make this bar once I got my old project properly injected in the new one. The project that is providing me with these possibilities is now an extension of my content manager. It's all coming together.

                              note: There is only one image in the below title bar example (the icon) all the rest of it was drawn with code. Buttons have working mouse states which were also drawn with code.


                              Really, no matter what I've been building over the last few months, I've been building the hell out of a content manager. The content manager code is getting really big and it does a whole fuckin lot. With my latest addition of customizable, object based ui elements... apps will practically build themself.
                              Last edited by MadGypsy; 11-11-2016, 07:51 AM.
                              http://www.nextgenquake.com

                              Comment


                              • @I'm merely repeating your own words. You're the one who explained to me that it wasn't a Quake engine but an engine for game devs.

                                Define repeating. Cause I never said that. YOU keep saying that. My words were

                                "I'm not building an engine for people that want to make maps. I'm building an engine for people that want to make games."

                                You decided that meant game developers.

                                My nephew is 7, he wants to make games. I seriously doubt you could call him a game dev but, if I ever get all of this to come together he could probably make games for my engine. Maybe not the most technical games but, a playable game none-the-less. Honestly, If I ever get this to the level I see in my head - you could practically drag and drop a game together.
                                Last edited by MadGypsy; 11-11-2016, 08:15 AM.
                                http://www.nextgenquake.com

                                Comment

                                Working...
                                X