Announcement

Collapse
No announcement yet.

Rage mods not possible, maybe.

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

  • #11
    It might be a good idea to google around. There is on GamaSutra an article explaining the technique behind megatextures which could help gain some insights.

    What goes for the mega textures itself it is definitely geared for outdoor scenes although seamless transitions to indoor should be possible. At last a demo video of Rage claimed so. It's though some time ago so I don't remember anymore how exactly it looked like. The advantage of mega textures are a couple though. First you have only one set of textures ( or rather said concentric tiles, 4 to be precise ) you render with. This prevents multi-pass rendering as required with conventional texture-blob terrains with decals. Also it avoids repetition in terrain textures which usually are covered by cleverly placing vegetation props. Also resolution problems as prevalent texture-blob are not existing. That said it introduces also some problems ( depending on your game that is ). First it requires tremendous disk space even if John came up with quite a clever compression ( which is variable but requires mappers to designed areas as higher compressable which is not always a good thing to offload on mappers ). Another problem is that only smaller changes to work geometry is possible since it requires repainting the affected texture area. There had been a discussion at GameDev about this and although I can understand the late-changes=fail faction I'm a large prototype guy myself so blocking changes for me is a red towel.

    So in general it can be boiled down to this:
    + no repetition in terrain
    + requires few render passes
    + high visual appeal

    - dynamic terrain is problematic ( changing terrain features or texture )
    - disk consumption for moderate game world is huge ( unsuitable for huge game world )
    - hostile to map geometry changes

    My game for example is based around high interaction with the environment ( dynamic environment ) and huge worlds. For such a setup this technique is not suitable which is why I'm working on something similar but inspired by the old game Trespasser ( for those still remembering this little gem ). Mega Texture has a certain resemblance to their terrain engine but the Trespasser one is different in an important part which makes it suitable for huge worlds whereas mega texture is not. Let's see if I can revive this technique for todays demands ( various material properties, deferred rendering and so forth ).

    Comment


    • #12
      Damn Dragonlord, you know a lot about terrain building and whatnot, are you a modder, or are in a modding team? I could use your skills for the mod im trying to put together.

      Comment


      • #13
        Originally posted by xav1r View Post
        Damn Dragonlord, you know a lot about terrain building and whatnot, are you a modder, or are in a modding team? I could use your skills for the mod im trying to put together.
        No... He's an engine developer. Indie. I'm hoping he succeeds with what he's doing- if he does, it means more players doing innovative things. Moreover, it'll open up avenues for us to have cool stuff to play down the line.

        Comment


        • #14
          Originally posted by Svartalf View Post
          No... He's an engine developer. Indie. I'm hoping he succeeds with what he's doing- if he does, it means more players doing innovative things. Moreover, it'll open up avenues for us to have cool stuff to play down the line.
          Ah, yea i think i read something about that. So is there a website for the engine he's making??

          Comment


          • #15
            I'm not a developer, but I still don't see the problem with Megatextures:
            - If you have a cliff, just create multiple disconnected Megatextures. MTs are good for big deformed planes, not specifically one large floor in your world. Maybe it's not implemented in id Tech 4/5, but there's nothing stopping you tearing a Megatexture either and assigning another texture to the torn "cliff face" of your plane.
            - For prototyping/late changes, you can use decals on top of the MT, then merge them down as often as needed. I don't really have any experience with 3d modelling programs, but I'm assuming decals are easy enough to do (if not it's more a shortcoming in the 3d modeller). There should be a way to draw textures however you want, fly around the world in the modelling program, then export everything as a MT.
            - For dynamic rasterised environments, you can still store an initial state on the surface with MT, and dynamically texture the inside of any holes you dig into it.
            - If you're changing the shape of polygons, you'll need to store hi-res data for the entire surface, so you can use mipmaps until you go too far into procedural texturing, where traditional textures aren't much use either.
            - If you REALLY want to go nuts with environment destruction/deformation, the MT idea will help even MORE, because you'll need to store a 3d texture - ie. instead of one megatexture, you've potentially got thousands stacked on top of each other. You'll also need to store all the other material properties in a similar data structure.

            To me a Megatexture is just a handy data structure that makes it EASIER to do heavily detailed textures. It doesn't FORCE you to do heavily detailed textures (even if you have to tesselate your tiles into a MT as an added step in map creation), and it doesn't take away anything.

            I think the guys at id are just saying that games are getting so much more detailed that people will expect a mod to be heavily detailed, and that's getting harder and harder for a mod team to do.

            @Dragonlord - I'm not familiar with Trespasser, how did it do things?

            Comment


            • #16
              I don't see too much of a problem with terrain deformations & megatexture type systems - but only up to a point. Stretching does become a problem with terrain that's too steep - as far as I'm aware etqw gets around this by modifying the uv-coords, which in turn really ties the current terrain to the texture.
              Megatexture type systems can (or should be able to) work with continuous large worlds. I started work (still poking at it) on something which is probably akin to how megatexture works, and with a few small tweaks would work just great in that sense.
              As for modding - I agree with the general sense in that it wouldn't be impossible, just require lots of storage and processing power. A lot of work on good editing tools would make things easier (such as auto generation of terrain based upon selected inputs), but working with extremely large data sets is always going to take time and resources.

              Comment


              • #17
                I want to see a Megatexture engine implemented into the GIMP, so that it auto-saves bits off-screen and auto-loads as you scroll

                Comment


                • #18
                  Originally posted by xav1r
                  So is there a website for the engine he's making??
                  There is... but I tend to not spam URLs or advertise around forums. Just not nice netiquette.

                  Originally posted by grantek
                  - If you have a cliff, just create multiple disconnected Megatextures.
                  In general this is true. You could use multiple mega textures. The problem is more how the system is implemented. John keeps around 4 same sized textures ( 2048 after his writing ) which are centered at the player position but each one is X times larger than the former. This yields similar texel-to-point ratio along the view of the player similar to what CSM ( cascaded shadow maps ) do. Hence only one megatexture can map to this texture stack. You could use more mega textures at the expense of more GPU RAM required ( and increased paging, uploading to GPU RAM ). Not sure if John has this is mind somewhere but in rage there is only 1 mega texture as far as I know.

                  - For prototyping/late changes,
                  I meant more mesh modifications. Modifying the texture late on is rather easy.

                  - If you REALLY want to go nuts with environment destruction/deformation, the MT idea will help even MORE, because you'll need to store a 3d texture - ie. instead of one megatexture, you've potentially got thousands stacked on top of each other. You'll also need to store all the other material properties in a similar data structure.
                  Keep in mind that one MT texture stack already consumes 134M GPU RAM uncompressed and with compression ( 25% for diffuse, 75% for normals maybe ) this still chomps 67M out of your memory budget. And this only uses diffuse(3)+normal(3)+specular(1) as material properties so far. You can chomp this down to 25% by halving the dimensions nevertheless there are also other components competing for GPU memory. MT with 3D textures would be interesting but fitting that into 512M ( and on disk especially ) is a rough call

                  To me a Megatexture is just a handy data structure that makes it EASIER to do heavily detailed textures. It doesn't FORCE you to do heavily detailed textures (even if you have to tesselate your tiles into a MT as an added step in map creation), and it doesn't take away anything.
                  They definitely yield a lot of detail. That said though they also consume disk space like a Gilvader. On the other hand I always tend to question how much graphics really are required. If you have a nice forestine area or a densely covered terrain how much difference do you see between a full blown mega texture and some more straight forward system? I think you can often get on with less and use the disk space previously consumed by texture data for some nifty things like good animations, good voice acting, good music ( something which todays game developers seem to have forgotten about <.=.< ), better AI, or just more props to make the game world vivid. At least that's how I see it in the end.

                  I'm not familiar with Trespasser, how did it do things?
                  They separate the world into tiles ( driven by the terrain system ). Each tile has a diffuse texture. Now a map contains sort of "terrain texture meshes". They are conventional textured flat meshes which are though invisible. When a tile is dirty the texture meshes affecting the tile are projected down on the texture and combined with shadows ( hence shadows are backed into the tile textures... only sun shadows but affecting all moving objects ). In contrary to MT the tiles are at fixed positions not centered around the player. Also while MT are precalculated and stored in disk Tres builds all textures on the fly using the texture meshes.
                  Last edited by Dragonlord; 23 September 2008, 01:07 PM.

                  Comment


                  • #19
                    Thanks for the info - my ravings about 3d textures were really looking forward to a time when we all have 16GB of fast video RAM, but I'm sure there's some small proofs of concept that could be done today that would be really interesting to see.

                    I guess it also depends on what you want your 3d engine for - ETQW benefits because it's about vast open spaces, and it does look pretty, but then again I never noticed any tesselation in the big maps in a game like Battlefield 1942.

                    Comment


                    • #20
                      Nothing against proof of concept. 3D textures indeed are an interesing thing. I think though the future is up to shaders producing volumetric textures on the fly not requiring much GPU RAM except maybe for a small reusable 3D texture ( like a randomizer or a coarse grain density distribution ).

                      What goes for the resolution I don't know now what texel-to-pixel resolution rage is going to feature. I estimate though up to 1dm ( meaning one texel covers 1dm squared on the ground ). It could be less but judging from the figures of texture resolutions I heard flying around ( somebody mentioned once 25'000 x 25'000 texture for an entire map ) I would stick to 1dm resolution. So don't get too close to the ground or it might look rather shit ( detail textures [ which is another name for texture splatting ] can achieve 1mm resolution if required ).

                      I'll definitely take a look at the game engine since I would like to see how this implementation performs. Nothing beats an actual implementation to compare with raw figures.

                      Comment

                      Working...
                      X