Jump to content

UniqueOne

Members
  • Posts

    243
  • Joined

  • Last visited

Posts posted by UniqueOne

  1. Finally someone else trying to move the engine into this century! I salute you. Awesome work!

     

    Did you by any chance also replace the horribly slow/wasteful Q3/BSP collision code with the bullet additions? I want to replace BSP with a real map format in order to properly do an open world using procedural geometry additions, but I suck at this collision stuff.

  2. This is definitely an interesting experiment and a testament to open source development. :D

     

    It might be adopted in the future as a base for the Phase 2 graphics enhancements.

    I have some questions for you about this renderer:

    • What does Magic Detail do?
    • Is there a chance for color-grading (LUT/Math methods), perhaps tied to specific postprocessing volumes?
    • Could you possibly look into animMap shaders working in 2D? I understand that EpicLoyd is working on Awesomium for Warzone, but having to manually animate things through code is a pain.

    Thank you. Keep up the good work!

     

    Hmm magic detail is sort of hard to explain. It sort of creates bumpiness/variation on the screen image by darkening and lightening pixels based on the detected edges around it. I invented the method for my ENB mod for skyrim and ported it to warzone. It tends to improve everything a little, but the more detailed the original texture (eg: a high resolution original texture with good detail), the more detailed the effect becomes. It really needs to be seen ingame to understand.

     

    In theory color grading could be done in lightall, but that is not really advised as it draws a lot of stuff never seen in the final image (stomped over by something else). I guess I could output a 4th LUT map image in lightall to tell it to use a specific palette or LUT code in post on screen areas, but even that would hurt FPS somewhat. Another option might be to allow per-map palettes, so by using selected colors in textures, the single palette texture would handle them differently.

     

    I think animMap should work now with 2D in rend2/wz? I don't think rend2 cares if its 3D or 2D? Xycaleth?

  3. So, I decided to port the renderer from my Warzone mod to JKG for you all.

     

    You can now enjoy JKG with a modern graphics engine.

    :D 

     

     

    4GDZT4r.jpg

    fnFIZ2Q.jpg

    U6CLXU9.jpg

    RmRigil.jpg

     

     

    Here is the latest version (update 3 - for 1.3.22a) download link for the warzone renderer version.

    Here is the older version (update 2) download link for the warzone renderer version.

    Here is the original version download link for the warzone renderer version.

     

     

     

     

    Installation:

    To enable the warzone renderer, use +set cl_renderer "rd-gwz" in your game loading shortcut/script.

    To disable the warzone renderer, use +set cl_renderer "rd-galaxies" in your game loading shortcut/script.

     

    It will connect to standard JKG servers.

     

     

    NOTES:

    * The warzone renderer requires a powerful, modern computer and video card.

     

    * I will try to keep it updated with new updates of JKG, unless they decide to adopt the renderer themselves.

     

     

     

     

    USEFUL CVARS:

     

     

    r_dynamicLight - [0 - 6] Enables the various lighting modes.

     

    0 - Off.

    1 - Low quality volumetric.

    2 - Medium quality volumetric.

    3 - High quality volumetric.

    4 - Low quality volumetric plus map glows.

    5 - Medium quality volumetric plus map glows.

    6 - High quality volumetric plus map glows.

    Default: 0

     

    r_distanceBlur - [0 - 5] distance blur.

     

    0 - Off.

    1 - Basic (fast). values above 1 do higher quality gausian blurs.

    Default: 1.

     

    r_glslWater - [0 - 2] Do advanced water. Turn it off if you have map issues.

     

    0 - Off.

    1 - Use advanced water.

    2 - Use advanced water with reflections.

    Default: 2.

     

    r_ssao - [0 - 1] Screen space shadows.

     

    0 - Off. 

    1 - On.

    Default: ON.

     

    r_magicdetail - [0 - 1] Adds more detail to the scene.

     

    0 - Off. 

    1 - On.

    Default: ON.

     

    r_colorCorrection - [0 - 1] Uses a palette texture (gfx/palette.png) to alter the screen colors, like ENB does in say Skyrim. 

     

    0 - Off. 

    1 - On.

    Default: ON.

     

    r_fxaa - [0 - 1] FXAA Anti-Aliasing.

     

    0 - Off. 

    1 - On.

    Default: ON.

     

    r_esharpening - [0 - 1] Sharpen's the screen image's pixels, adding more detail to the screen.

     

    0 - Off. 

    1 - On.

    Default: OFF.

     

    r_esharpening2 - [0 - 1] Sharpen's the screen image's pixels, adding more detail to the screen. A second method.

     

    0 - Off. 

    1 - On.

    Default: OFF.

     

    r_darkexpand - [0 - 1] Darkens edges of objects, and does some Anti-Aliasing.

     

    0 - Off. 

    1 - On.

    Default: OFF.

     

    r_truehdr -  [0 - 1] Darkens dark colors and lightens light colors to mimic HDR.

     

    0 - Off. 

    1 - On.

    Default: ON.

     

    r_dynamicGlow -  [0 - 1] Adds glows around glowing objects.

     

    0 - Off. 

    1 - On.

    Default: ON.

     

    r_bloom -  [0 - 1] Adds extra glows around glowing objects.

     

    0 - Off. 

    1 - On.

    Default: ON.

     

    r_anamorphic -  [0 - 1] Adds anamorphic lens flares to glowing objects.

     

    0 - Off. 

    1 - On.

    Default: ON.

     

    r_dof -  [0 - 1] Depth of Field. Mimic's a camera lens by dynamically blurring background objects.

     

    0 - Off. 

    1 - On.

    Default: ON.

     

    r_lensflare -  [0 - 1] Draws a lens flare when looking at a bright object.

     

    0 - Off. 

    1 - On.

    Default: OFF.

     

    r_vibrancy - [any values] Adjusts the colorfulness of the screen image.

     

    Higher values are more colorful. Negative values remove color.

    Default: 0.4.

     

    r_trueAnaglyph -  [0 - 1] For Red/Blue 3D glasses. Draws the screen in true depth based 3D.

     

    0 - Off. 

    1 - On.

    Default: OFF.

     

    r_deferredLighting -  [0 - 1] Turn ON/OFF lighting and occlusion. Not sure why anyone would turn it off.

     

    0 - Off. 

    1 - On.

    Default: ON.

     

    r_cubeMapping -  [0 - 2] Turn ON/OFF cube mapping (reflections). Disable this if you have FPS issues.

     

    0 - Off. 

    1 - On for map and Ghoul2 models.

    2 - On for everything.

    Default: 2.

     

    r_foliagePasses -  [0 to whatever] Number of passes to draw grasses. More passes means more/better grass at the cost of more FPS.

     

    0 - Off. 

    Default: 16.

     

     

     

    I have also uploaded a version of the huge warzone ilum_mmo map for you to play on.

    NOTE: It requires the warzone renderer to be active to load.

     

     

     

    3tOBM7Q.jpg

    Enjoy!

     
    Futuza, Lancelot, Boothand and 8 others like this
  4. Today I added the ability to specify that particular objects using the procedural geometry should be forced as solid.


     


    This can be handy to override the shader's info (for example if you wish to re-use a non solid shader on a solid object to increase FPS and reduce memory usage).


     


     


    I also added the ability to specify a shader for the cliff system to use.


     


     


    Here is an example of the current mapname.climate options with descriptions.



    [GRASS]
    // Grass shaders for this map...
    grassImage0=models/warzone/foliage/grasssnowpineforest
    grassImage1=models/warzone/foliage/grasssnowpineforest2
    grassImage2=models/warzone/foliage/grasssnowpineforest3

    // Underwater grass shader for this map...
    seaGrassImage=models/warzone/foliage/seagrass

    [CLIFFS]
    // Use the system that applies procedural cliff geometry to the map...
    addCliffFaces=1

    // Replace texture of the cliff faces with this one... Can use splat maps with warzone...
    cliffShader=models/warzone/rocks/snowycliff

    [TREES]
    // Over-all tree scale multiplier...
    treeScaleMultiplier=1.0

    // Per-tree model filenames...
    treeModel0=models/warzone/trees/forestpinesnow03.md3
    treeModel1=models/warzone/trees/forestpinesnow04.md3
    treeModel2=models/warzone/trees/forestpinesnow05.md3
    treeModel3=models/warzone/trees/forestpinesnow03.md3
    treeModel4=models/warzone/trees/forestpinesnow01.md3
    treeModel5=models/warzone/trees/forestpinesnow03.md3
    treeModel6=models/warzone/trees/forestpinesnow01.md3
    treeModel7=models/warzone/trees/forestpinesnow01.md3
    treeModel8=models/warzone/deadtrees/fallentreesnow01.md3
    treeModel9=models/warzone/deadtrees/fallentreesnow01.md3
    treeModel10=models/warzone/deadtrees/treestumpsnow01.md3
    treeModel11=models/warzone/deadtrees/treestumpsnow01.md3

    // Per-tree vertical offsets...
    treeZoffset0=-48.0
    treeZoffset1=-48.0
    treeZoffset2=-64.0
    treeZoffset3=-64.0
    treeZoffset4=-72.0
    treeZoffset5=-72.0
    treeZoffset6=-86.0
    treeZoffset7=-86.0
    treeZoffset8=18.0
    treeZoffset9=24.0
    treeZoffset10=-16.0
    treeZoffset11=-24.0

    // Per-tree model scales...
    treeScale0=8.0
    treeScale1=8.0
    treeScale2=10.0
    treeScale3=10.0
    treeScale4=12.0
    treeScale5=12.0
    treeScale6=14.0
    treeScale7=14.0
    treeScale8=2.0
    treeScale9=3.0
    treeScale10=0.5
    treeScale11=0.7

    // Only allow this type on slopes less steep then this...
    treeForcedMaxAngle0=0
    treeForcedMaxAngle1=0
    treeForcedMaxAngle2=0
    treeForcedMaxAngle3=0
    treeForcedMaxAngle4=0
    treeForcedMaxAngle5=0
    treeForcedMaxAngle6=0
    treeForcedMaxAngle7=0
    treeForcedMaxAngle8=12.0
    treeForcedMaxAngle9=12.0
    treeForcedMaxAngle10=12.0
    treeForcedMaxAngle11=12.0

    // Always force a buffer of this radius around the object...
    treeForcedBufferDistance0=256.0
    treeForcedBufferDistance1=256.0
    treeForcedBufferDistance2=384.0
    treeForcedBufferDistance3=384.0
    treeForcedBufferDistance4=420.0
    treeForcedBufferDistance5=420.0
    treeForcedBufferDistance6=512.0
    treeForcedBufferDistance7=512.0
    treeForcedBufferDistance8=768.0
    treeForcedBufferDistance9=768.0
    treeForcedBufferDistance10=512.0
    treeForcedBufferDistance11=512.0

    // Never place another of the same object within this radius...
    treeForcedDistanceFromSame0=1024.0
    treeForcedDistanceFromSame1=1024.0
    treeForcedDistanceFromSame2=1024.0
    treeForcedDistanceFromSame3=1024.0
    treeForcedDistanceFromSame4=1024.0
    treeForcedDistanceFromSame5=1024.0
    treeForcedDistanceFromSame6=1024.0
    treeForcedDistanceFromSame7=1024.0
    treeForcedDistanceFromSame8=3096.0
    treeForcedDistanceFromSame9=2048.0
    treeForcedDistanceFromSame10=1200.0
    treeForcedDistanceFromSame11=4096.0

    // Force full solidity on this object (still culls tiny surfaces)...
    treeForcedFullSolid0=0
    treeForcedFullSolid1=0
    treeForcedFullSolid2=0
    treeForcedFullSolid3=0
    treeForcedFullSolid4=0
    treeForcedFullSolid5=0
    treeForcedFullSolid6=0
    treeForcedFullSolid7=0
    treeForcedFullSolid8=1
    treeForcedFullSolid9=1
    treeForcedFullSolid10=1
    treeForcedFullSolid11=1

    And here is a pic from that climate type added to a basic terrain, ingame.


     


    r4gbjsS.jpg

    Smoo likes this
  5. @@UniqueOne - that's cool but that is not what I meant... what I meant was, what is the largest image Shader you can use on a terrain entity? 1024x1024, 2048x2048, etc.?

     

    What are you using to create the terrain? easygen?

     

    I think the only limitation is the limitation of your video card. I am using 4k textures on a bunch of warzone stuff when the HD assets are enabled. I have a feeling the hardware limit is 8k (but am not totally sure). I have not tried using 8k textures though.

     

    For terrain I use this program http://nemesis.thewavelength.net/index.php?p=8 mainly because I am not a mapper and find it fairly simple compared to the others I've seen.

  6. I'm completely against using random numbers for environments unless it's used in very minimal ways. You have no control over what the environment will look like if you use it for everything and it will almost always look unnatural. Using them as a starting point to work from is a good idea though - that I'd be very much interesting in seeing.

     

    That's why I suggest using image maps for static info like the climates across the length of the universe. Use random to get terrain info and where planets are located, use image lookups for the rest. I suggest this mostly because it takes a lot of the work out of getting things working. It could be replaced or overridden by static images at any place too I guess. In essence it creates the generic clutter of stuff in the universe and you throw whatever you choose on top of it.

     

    I expect vis and collision to be the hard parts. Maybe both could be done using heightmaps generated on the fly combined with object bounds for the models placed? heightmaps wouldn't work well from above (occlusion culling required?), but on the ground they could be used to quickly cull a lot of terrain stuff I would think.

  7. Man this really is the dream. Star Wars the way it should be. I have a few thoughts that might make this a little easier, but i'll talk to you on irc next time your there.

     

    I use a simple random generator for my grass system that given the same coordinates as seed will give back the same random values each time. Might be easier to do the whole universe using these random numbers based on the coordinates. You could use something like a universe map image to specify "climates" across the universe. I'm not sure how one would fit old maps into this system though. Maybe using pre-allocated locations.

  8. Not trying to nag but I'm really interested in this if it'll improve the use of models in my maps

    .. so continuing as the BSP stage can be completed , I'm now stuck at the VIS stage, I'm getting the hall of death effect when I compile the VIS stage and I can't see anything of the map, any ideas ?

    Was thinking about it. To make use of the model stuff in wzmap you would need to also import code from warzone mod into your sof mod. Wzmap uses the output from a game command I added to the mod to select where to place objects.

     

    For vis issue. Try doing vis again. I have a feeling there is still an issue in vis though. Not sure if it's some change from bloodmap.

     

    You might want to join our irc channel (see my signature) rather then chatting here :)

  9. Same thing happened but the compiler had to do way less, but good to know maybe is that there are 94 models and 1 that has to stay misc_model : http://pastebin.com/Y3tE5yHR

     

    EDIT: Strangely enough when I remove all the models and compile, it still crashes.

    EDIT EDIT: Whats even more strange is is that I now upgraded to Radiant 1.6.5 , used JA setup but changed everything to SOF2, then changed the q3map2.exe to 4gb and compiled my map and now it does compile, which it didn't do on 1.4 and its q3map2 :o meaning that my test project of porting CSGO map to SOF2 was accomplished ^^.

     

    I do am still curious in how far your compiler might improve the map though. It still fails at the same location as before.

     

    May have found your crash problem, although it would only happen if there are no draw surfaces on a model entity... Anyway, will post an updated version that should I hope bypass the crash in the first thread shortly.

     

    EDIT: New updated link posted.

    Archangel35757 likes this
×
×
  • Create New...