Jump to content

klepto2

Developers
  • Posts

    853
  • Joined

  • Last visited

Image Comments posted by klepto2

    water_wip.gif

          4

    I actually plan a feature like this. The problem is, that this would need multiple sets of FFT textures depending on the wind and a proper way to blend them. Maybe something just lowering the displacement amount and normal impact might be a simple solution.  

    Also at shores it should blend from the ocean to more shallow waves. As the wave behavior changes with the depth of the water.

    • Upvote 1
  1. I got a first version with reprojection working. it is not fine tuned, but in general the algo is very basic. 

    This gif shows the debugging of the reprojection.

    Red shows the pixels which went offscreen and needs to be rerendered as well.  In the non red area only every 16th pixel is rendered per frame, the others are reprojected from the previous frame.

     

    image.thumb.gif.741f58ea5b71e903707c9083e2461157.gif

    • Like 1
    • Upvote 1
  2. ok, doubled the raysteps and reduced the raycasts per frame to 1/16 as a first step to reprojection: and this is the result (with the old raystep range (32-64) i even get around 700-800fps):

    image.thumb.png.6268568d193621bd79df5a3b89663770.png

    • Like 1
    • Upvote 1
  3. Not directly, the clouds system is based on a weather texture, where red is used for the overall coverage of  clouds, green is used for the cloud type and blue is used for the cloud wetness.  So if you modify one of the channels it will reflect on the clud rendering. In this case i just pasted "UltraEngine" Logo directly in the red channel. Also you may notice, that currently a plain texture is used which leads to repition, i later will also support cubemaps which can then be used to create individual weather for whole planets.

    • Like 1
  4. Yes, this is first basic implementation without nearly no optimizations. E.g the clouds are raymarched at full resolution. Also it uses 128 to 256 steps per ray multiplied by 6 lightcone raymarches per step. What disturbed me more is the high culling time and the useless shadow render and high instance count. But this is something I will investigate further and file a bug report on that later.

    • Like 1

    pfx_pow.png

          6
    3 hours ago, SpiderPig said:

    Do you have plans to sell any of your work?  I'd be interested to buy your pre-computed sky :D

    Indeed i plan to sell it, but before that i need to resolve some things. A lot of refactoring, making it easier to use and i need to wait for some engine refinements, so that it will actually work really fast.

    • Upvote 1
  5. I am using a small helper method to check if the interface is native or not (maybe something like this could make it into the Widget class) and to decide if i could use textures or must use pixmaps:

    bool IsNativeInterface(shared_ptr<Interface> i)
    {
        return i->GetWindow() != NULL;
    }

    If the interface is not native and you want or need to interact with the window you need to get it with ActiveWindow() and not use ui->GetWindow().

    • Like 1
  6. The Airspace problem is a description for mixing different GUI technologies. In this case, the scintilla control uses natively gdi+ and its own window class and HWND. this window is rendered by gdi+ while the rest of the ui is rendered by UltraEngine.  So to show the scintilla control, it must always been on top of the Ultra Engine-Widgets, which means that the z-Index or order doesn't matter and in the gif you can see that the red overlay is clipped by the scintilla control, while with the redirection to the pixmap this is no problem, because i render the pixmap natively in UltraEngine and the original Scintilla Window is hidden. The term mostly comes from WPF and WinForms: https://adityaswami89.wordpress.com/2014/02/24/airspace-problem-wpf/

×
×
  • Create New...