Announcement

Collapse
No announcement yet.

HEXEN II community work and discussion

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Thanks golden_boy! I thought so.
    But the problem is still there,
    can anyone tell me how to dumb FTE GLSL Shaders via console? And - is there anywhere a easy to understand GLSL wiki or something like this?
    Last edited by webangel; 02-26-2013, 03:51 PM.

    Comment


    • r_dumpshaders. I think. Not sure where you can learn glsl. I suggest google.
      Scout's Journey
      Rune of Earth Magic

      Comment


      • vertex attribute names:
        v_position v_position2 v_colour v_texcoord v_lmcoord v_lmcoord2 v_lmcoord3 v_lmcoord4 v_normal v_svector v_tvector v_bone v_weight

        light-specific uniforms
        l_lightscreen l_lightradius l_lightcolour l_lightposition l_lightcolourscale l_projmatrix l_cubematrix

        various other uniforms
        m_model m_view m_modelview m_projection m_modelviewprojection m_bones m_invviewprojection m_invmodelviewprojection v_eyepos w_fog e_vblend e_lmscale e_origin e_time e_eyepos e_colour e_colourident e_glowmod e_uppercolour e_lowercolour e_light_dir e_light_mul e_light_ambient

        you can #include "sys/skeletal.h" to get access to "vec4 skeletaltransform_wnst(out vec3 w, out vec3 n, out vec3 t, out vec3 b)" to read the various attributes/bone matricies etc. skip postfix if you don't care about those values.
        Shaders that support skeletal models should use that instead of the 'ftetransform' macro, which will give you all those values in model space.

        "sys/fog.h" will give fog3 fog3additive fog4 fog4additive fog4blend
        "sys/offsetmapping.h" will give "vec2 offsetmap(sampler2D normtex, vec2 base, vec3 eyevector)"
        you can also #include "cvar/foo" to insert the value of foo in the glsl. you'll probably want to surround that with a cast though. silly assume-int-then-error-on-it...

        textures are specified using s_t0 for the first texture named in the shader. s_t1 for the second, etc. the shader can specify $diffuse and it'll use whatever the diffuse texture for that surface is.

        There's a few permutations available...
        BUMP FULLBRIGHT UPPERLOWER DELUXE SKELETAL FOG FRAMEBLEND LIGHTSTYLED
        that basically say that certain values are 'available'. however, the more you define, the longer load times will be. you probably don't need to use most of these if you know how the shader will be used. for instance LIGHTSTYLED only really makes sense on rbsp/fbsp map surfaces where there are 4 lightmaps per surface and the glsl has to take care of the lightstyles itself.
        most of them are really only useful to generic shaders though. rtlights provide pretty much all of them. :s

        so put it all together and you have:
        someshader
        {
        program
        {
        varying vec2 tc;
        #ifdef VERTEX_SHADER
        attribute vec2 v_texcoord;
        void main()
        {
        tc = v_texcoord;
        gl_Position = ftetransform();
        }
        #endif
        #ifdef FRAGMENT_SHADER
        uniform sampler2D s_t0;
        void main()
        {
        gl_FragColor = texture2D(s_t0, tc);
        }
        #endif
        }

        {
        map $diffuse
        }
        }

        yeah, you still need the {} around each map line, but the {} after program allow you to embed some glsl directly into the shader instead of using an external glsl file. convienience or reuse...

        here's the default shader for r_waterstyle 5:
        "{\n"
        "sort blend\n"
        "surfaceparm nodlight\n"
        "{\n"
        "map $refraction\n"
        "}\n"
        "{\n"
        "map $normalmap\n"
        "}\n"
        "{\n"
        "map $reflection\n"
        "}\n"
        "{\n"
        "map $ripplemap\n"
        "}\n"
        "program altwater#REFLECT#RIPPLEMAP#FRESNEL=4\n"
        "}\n"
        '$refraction' is the image drawn from the other side of the water surface. Its your underwater fbo image.
        '$normalmap' should be just some sort of pre-drawn wave image or so, so that its not too regular.
        '$reflection' is just a mirror image effect.
        '$ripplemap' needs some explaining: its an fbo to which 'sort ripple' shaders are drawn to. This means you can add ripples to the water by drawing a particle or oriented sprite or some such aligned with the water plane. Using an additive blend, these ripples can combine with each other allowing you to shoot the water for nice ripples.
        However its use is somewhat limited as there is currently no automatic way to add such particles. You'd need to get the gamecode to explicitly spawn them. So you should probably remove that texture and the RIPPLEMAP glsl modifier in the shader.

        the altwater.glsl code itself can be seen via r_dumpshaders.
        Some Game Thing

        Comment


        • I simply LOVE Spike´s answers.

          Comment


          • Spike ftw.
            Scout's Journey
            Rune of Earth Magic

            Comment


            • wall of text. :s
              Some Game Thing

              Comment


              • I would like to ask community, if somebody has Hexen 2 texture wad, with changed texture names? Some Praevus textures have same name as original Hexen ones and there were wads that correct the names, but all the links I found were dead. If anybody can upload the wad or know function link I would be grateful.

                Comment


                • well i am not sure i know about that but maybe you can look on hexen2 ftp?
                  Hexen:Edge of Chaos: News - my most awaiting game
                  Qtracker - for easy searching of Quake and HeXen II servers
                  HeXen II: All Source Ports List - i am collecting everything for HeXen II
                  HeXen II Files - under development
                  Me at Facebook - want play hexen2 multiplayer write me
                  hexen2 ftp
                  hexen2 maps, mods, addons, etc, torrent

                  Comment


                  • @Mathuzz Not sure but maybe this will do?

                    Hexen 2 Wad - Download
                    MOD it! Start Point Remake Quake Scout's Journey Quaketastic WhiteDay Quake Terminus UQE

                    Comment


                    • Also this Hexen II Texture Pack

                      And this

                      '90s Commercial WADs - ZDoom'ed!


                      Hope i was helpful
                      MOD it! Start Point Remake Quake Scout's Journey Quaketastic WhiteDay Quake Terminus UQE

                      Comment


                      • Hey !!!!
                        have you invited this artist on the forum?
                        i think he/she can recreate some really NICE wallpapers for H2 game!

                        Originally posted by WhiteMagicRaven View Post
                        Ia! Ia! Shubb Niggurath!


                        "Not dead is what forever can wait" (HPL)

                        Comment


                        • No i am not invited this artist, should try?

                          On other news:
                          Downloads - Ravenhurst Mod for Hexen II - Mod DB
                          First 2 levels available, still buggy (only one difficulty: hard) but (maybe) worth it. haha
                          Hexen:Edge of Chaos: News - my most awaiting game
                          Qtracker - for easy searching of Quake and HeXen II servers
                          HeXen II: All Source Ports List - i am collecting everything for HeXen II
                          HeXen II Files - under development
                          Me at Facebook - want play hexen2 multiplayer write me
                          hexen2 ftp
                          hexen2 maps, mods, addons, etc, torrent

                          Comment


                          • Thanks for the wads, even though I still had to change the Quark add-on.

                            I have one more request
                            If anybody has older UQE tools or know download link, I would appreciate that. Problem is I cannot make the newer ones (1.16 I think) to work.

                            Comment


                            • ftp://hexen2:[email protected]/
                              Hexen:Edge of Chaos: News - my most awaiting game
                              Qtracker - for easy searching of Quake and HeXen II servers
                              HeXen II: All Source Ports List - i am collecting everything for HeXen II
                              HeXen II Files - under development
                              Me at Facebook - want play hexen2 multiplayer write me
                              hexen2 ftp
                              hexen2 maps, mods, addons, etc, torrent

                              Comment

                              Working...
                              X