1. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  2. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. We have recently started the 16th edition of the Mini Mapping Contest. The theme is mini RPG. Do check it out and have fun.
    Dismiss Notice
  4. Dismiss Notice
  5. The Highway to Hell has been laid open. Come along and participate in the 5th Special Effect Contest.
    Dismiss Notice
  6. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

[RenderEdge] Experimental version

Discussion in 'Warcraft Editing Tools' started by ENAleksey, Sep 22, 2016.

  1. Zwiebelchen

    Zwiebelchen

    Joined:
    Sep 17, 2009
    Messages:
    6,793
    Resources:
    12
    Models:
    5
    Maps:
    1
    Spells:
    1
    Tutorials:
    1
    JASS:
    4
    Resources:
    12
    Holy shit, these new screens look almost like Starcraft 2. What about all these features though? Are they toggle-able?

    For example, would I be able to turn off specular mapping, as many of the default wc3 art assets would look like metal without proper specular maps?


    What about ease-of-use for players who want to apply this to maps they didn't make themselves? Is it possible for render edge to disable the regular shadow map and image-based shadows as soon as you enable the realtime rendering?
     
  2. ENAleksey

    ENAleksey

    Joined:
    Nov 29, 2014
    Messages:
    189
    Resources:
    1
    Tools:
    1
    Resources:
    1
    Yes, all these features are configurable, however, at the moment only for all objects at once, without individual configuration. This will be implemented only after I can find a place in game.dll where are objects/models structures are located, and understand how to write and read from it. After that, I plane to modify mdx/mdl files to add new flags, such as "cast shadows", new settings for materials (metallic, roughness) and support of normal, metallic and roughness textures.
    war3 2017-06-08 20-39-47-15.png
    You can also download this version and check everything yourself.

    BTW, here is a comparison of lighting, gamma correction and tonemapping between RenderEdge and Unreal Engine 4:
    war3 2017-05-27 17-50-12-05.png war3 2017-05-27 17-50-16-34.png
    RenderEdge
    Снимок2.PNG Снимок.PNG
    Unreal Engine 4
     
    Last edited: Jun 8, 2017
  3. datsatthune

    datsatthune

    Joined:
    Sep 9, 2015
    Messages:
    23
    Resources:
    0
    Resources:
    0
    Test in 1.26a and everything is black :(
    enb2017_6_9_2_35_36.jpg
    When i alt+tab to desktop and alt+tab again to the game, i got this error
    2017-06-09_093837.png
     
  4. datsatthune

    datsatthune

    Joined:
    Sep 9, 2015
    Messages:
    23
    Resources:
    0
    Resources:
    0
    enb2017_6_9_17_3_15.jpg
    OK, after check Default Renderer it's not black anymore.
    And check on the Disable Fog of war can solve the error messages.
     
  5. ENAleksey

    ENAleksey

    Joined:
    Nov 29, 2014
    Messages:
    189
    Resources:
    1
    Tools:
    1
    Resources:
    1
    I implemented a new Bloom effect from the Unity 5.6:
    war3 2017-06-13 19-32-59-25.png war3 2017-06-13 19-34-53-36.png
    Tomorrow I'll post an update.

    Initially, I wanted to take an implementation from Unreal Engine 4, but bloom from the Unity maybe even better:
    Снимок.PNG
    Unreal Engine 4
     
    Last edited: Jun 13, 2017
  6. ENAleksey

    ENAleksey

    Joined:
    Nov 29, 2014
    Messages:
    189
    Resources:
    1
    Tools:
    1
    Resources:
    1

    Update 0.0.2a


    • New Bloom effect;
    • Added settings for Lens Dirt;
    • Added option to test emissive materials (see 'Material' tab);
    • Unshaded materials are turned off by default, you can turn them on in the 'Material' tab;
    • Fixed problems with color conversion of standard lights and fog to linear space;
    • Fixed an issue where it was not possible to change the lighting in the maps where the SetDayNightModels("", "") function was called;
    • Added a counter of memory used by the Warcraft;
    • Debug Screens now work.
    war3 2017-06-14 17-22-45-20.png war3 2017-06-14 17-22-57-82.png war3 2017-06-14 17-23-13-01.png war3 2017-06-14 17-23-23-63.png

     
    Last edited: Jun 14, 2017
  7. Ezekiel12

    Ezekiel12

    Joined:
    Mar 13, 2012
    Messages:
    1,053
    Resources:
    0
    Resources:
    0
    Looks really good. I got two questions:

    1. Will this be usable with Sharpcraft WEX?
    2. Can you open source it so we can look at the code?
     
  8. ENAleksey

    ENAleksey

    Joined:
    Nov 29, 2014
    Messages:
    189
    Resources:
    1
    Tools:
    1
    Resources:
    1
    Ezekiel12, thank you.
    The code will be available after transferring all current features from the experimental version to the basic version, but probably earlier.
    I think it's possible to use RenderEdge with Sharpcraft WEX, but I have not yet figured out how to add custom plugins to it.
     
    Last edited: Jun 17, 2017
  9. Talavaj

    Talavaj

    Joined:
    Jan 18, 2010
    Messages:
    1,093
    Resources:
    6
    Models:
    6
    Resources:
    6
    Looks fabulous.
    If you ever figure out how to implement normal/roughness maps then I might actually reboot my mod.
     
  10. ENAleksey

    ENAleksey

    Joined:
    Nov 29, 2014
    Messages:
    189
    Resources:
    1
    Tools:
    1
    Resources:
    1

    Height Based Fog



    Refuge in Ruins map:

    WC3ScrnShot_061817_145644_02.png
    Exponential Squared
    WC3ScrnShot_061817_145616_01.png
    Height Based
     
  11. ENAleksey

    ENAleksey

    Joined:
    Nov 29, 2014
    Messages:
    189
    Resources:
    1
    Tools:
    1
    Resources:
    1
    Talavaj,
    I already tried to find it, but I could not do it. So I need help from people who are versed in the reverse engineering of dlls.
     
  12. Talavaj

    Talavaj

    Joined:
    Jan 18, 2010
    Messages:
    1,093
    Resources:
    6
    Models:
    6
    Resources:
    6
    How are the normals made in the preview pictures?
    Honestly roughness/metalness don't really need a texture, most things could probably get away with simply having a global value you could maybe assign per material or geoset or something.
    And the normals could really just use the diffuse map light information like a bumpmap, far better than nothing since for many surfaces the low points are usually darker anyway.

    Alternatively, you could use the alpha channel of the texture to store bumpmaps or roughness for example.
    Use a material with no transparency but read the alpha channel for either height or glossiness information instead.
    No additional textures required to be injected or anything.

    Also the fog is doope.
     
    Last edited: Jun 18, 2017
  13. ENAleksey

    ENAleksey

    Joined:
    Nov 29, 2014
    Messages:
    189
    Resources:
    1
    Tools:
    1
    Resources:
    1

    Blue Noise Dithering


    WC3ScrnShot_062017_115906_01.png WC3ScrnShot_062017_115911_02.png
    Point Light
    WC3ScrnShot_062117_173032_01.png WC3ScrnShot_062117_173036_02.png
    Fog
    war3 2017-06-21 17-40-23-16.png war3 2017-06-21 17-40-32-29.png
    Bloom


    Demonstration of some techniques and effects



    Refuge in Ruins map:
    WC3ScrnShot_062017_124440_04.png
    Point Light
    WC3ScrnShot_062017_124452_05.png
    Height Based Fog
    WC3ScrnShot_062017_124416_03.png
    Point Light + Fog
    WC3ScrnShot_062017_124359_02.png
    + Reflection
    WC3ScrnShot_062017_124311_01.png
    + Water
    WC3ScrnShot_062017_151029_07.png
    + Directional Light
    WC3ScrnShot_062017_150746_03.png
    + Textures
     
    Last edited: Jun 21, 2017
  14. severed

    severed

    Joined:
    Oct 25, 2010
    Messages:
    163
    Resources:
    0
    Resources:
    0
    if I want to use this, can I add it to a map I am making and share it with people and they will be able to see all these improvements?? or will other players need to download this in order for the map to work for them?? also does this work on the current version 1.28.4 or just 1.26a?

    thanks
     
  15. Talavaj

    Talavaj

    Joined:
    Jan 18, 2010
    Messages:
    1,093
    Resources:
    6
    Models:
    6
    Resources:
    6
    The clay render looks great.
    Though in the texture view, I would say the shadows ought to be a little darker or the directional light a little brighter.

    How well does it run though?
    I assume all the lighting data is calculated in real time and not stored in light maps or anything.
    That would be expensive even in a proper engine.
     
  16. ENAleksey

    ENAleksey

    Joined:
    Nov 29, 2014
    Messages:
    189
    Resources:
    1
    Tools:
    1
    Resources:
    1
    Severed, hi, RenderEdge still work only on 1.26a path, and every user should launch game by RenderEdge.exe to see improvements.

    Talavaj, I just used different values of diffuse and ambient color of light source on screen with textures and forget to change it back when took second screenshot without textures.
    Yes, I use fully dynamic shadows without baking in lightmaps. But there are some problems: I don't have direct access to objects on game scene, so I should hook they by myself. For each object in frame I create vertex and index buffer, but it not correct: I should use only one vertex buffer and one index buffer for all objects. All these buffers take up a lot of space in memory, so the game crashes when a certain limit is reached (for me it's 2000 mb). Therefore, I need the help of people who understand the reverse engineering of dynamic libraries. I need only to find in the game.dll the structure of the game object, this solve all the current problems.
     
  17. GhostWolf

    GhostWolf

    Joined:
    Jul 29, 2007
    Messages:
    4,840
    Resources:
    2
    Tools:
    1
    Tutorials:
    1
    Resources:
    2
    As far as memory goes, it doesn't matter if you have one buffer or a hundred, as long as they consume the same memory together.
    Binding buffers, however, is relatively expensive.
    I am not sure how your code works, but you might want to look into instanced rendering.
    Even without instanced rendering - let's say you have a unit 20 times, you don't need its buffers 20 times - only the dynamic data needs to change.
     
  18. ZeroGo

    ZeroGo

    Joined:
    Jul 17, 2013
    Messages:
    123
    Resources:
    0
    Resources:
    0
    @ENAleksey are you still working on this? I have checked your tool and I am most impressed with the real time shadows, it makes the game look WAY better.
     
  19. ENAleksey

    ENAleksey

    Joined:
    Nov 29, 2014
    Messages:
    189
    Resources:
    1
    Tools:
    1
    Resources:
    1

    Update 0.1.0a


    New
    • Added support of animated textures;
    • Added support of semi-transparent models;
    • Added support of Unshaded materials;
    • Added support of Vertex Color;
    • Added support of skybox lighting;
    • Added support of textures, the size of which is not a pow of 2;
    • Improved hiding interface;
    • Improved Sky Light: added Blend Factor parameter;
    • Improved Debug Point Light: added the ability to manually set the coordinates;
    • Improved Image Based Lighting;
    • Using pixel reflections;
    • Added the Culling Mode option for shadows;
    • Added the ability to select the format and color space of the monitor;
    • Added Temporal Anti-Aliasing;
    • Added Screen Space Reflections;
    • Added Auto Exposure (UE4);
    • Improved Chromatic Aberration;
    • Updated SSAO: replaced by Scalable Ambient Obscurance;
    • Improved Bloom (increased maximum radius, added the ability to stretch horizontally or vertically);
    • Preserving the proportions of Lens Dirt textures at any aspect ratio of the screen;
    • Anti-aliasing is now applied before other post-effects;
    • Optimization of Color Grading (LUT texture baking);
    • Displaying post-effects only inside the viewport;
    • Removed the ability to use Irradiance texture as a source of ambient lighting;
    • Removed improved water;
    • Loading and creating of textures and effects only as needed;
    • Updated d3d8 to d3d9 converter.

    Fixes
    • Fixed a bug when the same directional light source was used for units and terrain;
    • Fixed crashes when cutting trees with enabled shadows;
    • Fixed crashes when minimizing the game with enabled shadows;
    • Fixed crashes when the free camera mode was turned on;
    • Fixed crashes when setting a small radius in the Bloom effect;
    • Fix minimizing of the game when switching vertical synchronization;
    • Fixed stretching the screen when the interface and shadows are turned on;
    • Fixed memory leak when interface and post effects turned on;
    • Fixed incorrect display of SSAO when the Free Camera mode is on;
    • Fixed the projection function of SSAO and SSR textures on the screen;
    • Fixed incorrect gamma correction of skybox when post-processing is enabled;
    • Fixed incorrect work of Dithering;
    • Fixed incorrect color of standard point light sources;
    • Prohibition of disabling the interface and enabling the free camera mode in the main game menu and during map loading;
    • Dynamic cleaning of unused memory, occupied by shadows;
    • Fixed incorrect value of the Height and Density parameters of fog;
    • Fixed loading of textures from .mpq archives;
    • Fixed incorrect brightness of point light sources.

    Bugs
    • Game crashes when switching vertical synchronization in the main menu in the windowed mode;
    • Some post-effects work incorrectly with a limited size of viewport.


    Screen Space Reflections


    The implementation is not perfect, there are many graphic artifacts. Some of them can be fixed, but others appear in their place. Does not work when Temporal AA is on.

    ssr11.png ssr12.png
    ssr21.png ssr22.png ssr23.png
    ssr31.png ssr32.png ssr33.png
    SSR Disabled | Depth Threshold = 100 | Depth Threshold = 3
    ssr41.png ssr42.png


    Temporal Anti-Aliasing


    This kind of smoothing is especially useful for preventing Specular Aliasing. Implementation is also not ideal, more or less correctly works only when the camera and objects do not move:

    smaa.png taa.png
    SMAA | Temporal AA


    Scalable Ambient Obscurance


    Improved version of Screen Space Ambient Occlusion. When the camera/objects move, the ghosting effect appears, I'll fix it later.

    ao21.png ao22.png ao23.png
    ao11.png ao12.png ao13.png
    Radius = 0 | Radius = 1 | Radius = 2


    Bloom & Lens Dirt


    Increased the maximum blur radius, added the ability to blur more horizontally or vertically. Lens Dirt texture now retains proportions for different screen aspect ratios. Fixed significant bugs leading to crashes.

    bloom11.png bloom12.png
    bloom21.png bloom22.png


    Color Grading


    Now color and gamma correction are done on a small texture of 32x1024, then the information from the resulting texture is applied to the final buffer. This allows to significantly improve performance (on my laptop it has grown by 20 fps), the loss of quality is noticeable only at very high brightness.
    Also, it became possible to select the format and color space of the monitor (while without the support of HDR monitors).


    Demo


    Comparison of standard and improved lighting (without Physically Based Shading and Post-Processing):

    demo11.png demo12.png
    demo21.png demo22.png
    Default Renderer | RenderEdge

    Demonstration of lighting and post-effects on the example of my old map:

    demo31.png demo32.png demo33.png
     
    Last edited: Dec 31, 2017
  20. ZeroGo

    ZeroGo

    Joined:
    Jul 17, 2013
    Messages:
    123
    Resources:
    0
    Resources:
    0
    Incredible