Announcement

Collapse
No announcement yet.

[Community Project] WIP Weather & Ocean Water Shader

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

  • replied
    Thanks a lot, DotCam.
    It seems PhysX supports IOS, and we tried cutting off Apex features, repackage, this time it worked except for some material node errors during cook time.
    Theoretically, if we ues animation or material system to simulate apex features and rewrite some unsopported material nodes, we can port the project to IOS. Am I right? Any suggest about that ?

    Leave a comment:


  • replied
    Originally posted by Themanwithideas View Post
    Well done now excuse the idiot but what's FFT? My life is surrounded with acronyms and this one is making my day.
    FFT stands for fast Fourier transform.

    It's widely used in movies (pretty much every movie where there is a CG ocean) and in AAA titles such as assassin's creed and GTA5.

    wiki quote:
    "The FFT algorithm computes the discrete Fourier transform (DFT) of a sequence, or its inverse. Fourier analysis converts a signal from its original domain (often time or space) to a representation in the frequency domain and vice versa."

    The inverse FFT transforms a spectrum from the frequency domain which would look something like this:
    Click image for larger version

Name:	images.jpg
Views:	1
Size:	13.9 KB
ID:	1111446

    ..to a heightfield in the spatial (image) domain which looks something like this:
    Click image for larger version

Name:	heightfield.jpg
Views:	1
Size:	36.3 KB
ID:	1111447

    In more simple terms it basically lets you compute the sum of several hundred thousands of waves

    Leave a comment:


  • replied
    Originally posted by TK-Master View Post
    FFT-based Ocean Simulation WIP!

    So after a lot of headaches and red bulls (sponsor me please? lol) I finally have a working FFT implementation.

    Test #1.

    (Don't pay too much attention on the material look, this is meant to showcase the displacement)

    This is simulating a 128x128 grid on the CPU at about 4ms on a separate thread.
    The plan is to implement a GPU-CPU combo for maximum performance and quality.
    The CPU will simulate a smaller FFT (up to 128) which will be used for height readback queries only (for buoyancy etc.) and the GPU will be able to simulate a larger grid (up to 2048) with normals, energy-based foam etc. which will be used for rendering.

    The simulation above is using the classic Phillips spectrum from the tessendorf papers which produce nice sharp "choppy" waves and is meant to represent a fully developed open ocean state, but there are other spectrum models out there (which I have partially implemented) that are more "physically correct" and can produce different style of waves.

    There is still a lot of work to be done so don't expect any of this to be released anytime soon, I'm doing this in my free time as you know

    WOW [MENTION=1127]TK-Master[/MENTION] ! Astonishing work! I knew you were up to something... so quiet lately but I never imagine it would be this! wow. I can't contain my enthusiasm :-P my congrats! Keep it up!

    Leave a comment:


  • replied
    Well done now excuse the idiot but what's FFT? My life is surrounded with acronyms and this one is making my day.

    Leave a comment:


  • replied
    FFT-based Ocean Simulation WIP!

    So after a lot of headaches and red bulls (sponsor me please? lol) I finally have a working FFT implementation.

    Test #1.

    (Don't pay too much attention on the material look, this is meant to showcase the displacement)

    This is simulating a 128x128 grid on the CPU at about 4ms on a separate thread.
    The plan is to implement a GPU-CPU combo for maximum performance and quality.
    The CPU will simulate a smaller FFT (up to 128) which will be used for height readback queries only (for buoyancy etc.) and the GPU will be able to simulate a larger grid (up to 2048) with normals, energy-based foam etc. which will be used for rendering.

    The simulation above is using the classic Phillips spectrum from the tessendorf papers which produce nice sharp "choppy" waves and is meant to represent a fully developed open ocean state, but there are other spectrum models out there (which I have partially implemented) that are more "physically correct" and can produce different style of waves.

    There is still a lot of work to be done so don't expect any of this to be released anytime soon, I'm doing this in my free time as you know

    Leave a comment:


  • replied
    Originally posted by Rama View Post
    [MENTION=5439]DotCam[/MENTION] [MENTION=1127]TK-Master[/MENTION]

    Wow! This offering of yours is tremendous! Thank you thank you!

    I am sorry I am only just noticing this thread for the first time

    I tried it out and I especially loved the breaking up of waves along the shoreline, your landscape feature. The buoyancy and Gerstner waves are great, tho personally I think of them as DotCamWaves

    This is one awesome community contribution, thank youuuu!



    Rama
    Hey Rama That means a lot, coming from you

    Originally posted by Hevedy View Post
    There is a performance problem or something somewhere that give me 60FPS even in the UnLit Mode with a 780GTX
    That's probably because of the planar reflection component.
    I would say it's best to switch back like it was before with SSR (for now) until I add my custom planar reflection system which is better

    Leave a comment:


  • replied
    There is a performance problem or something somewhere that give me 60FPS even in the UnLit Mode with a 780GTX

    Leave a comment:


  • replied
    I have been analyzing different water conditions on certain areas of a region and noticed that sometimes water can change considerably, for example, when entering a bay or channel. One interesting idea would be a volume that overrides the settings so we could make configs for different areas - like bays, channels, coastline, deep ocean without having to relay on weird tricks with scenario to change to different water meshes.

    Leave a comment:


  • replied
    [MENTION=5439]DotCam[/MENTION] [MENTION=1127]TK-Master[/MENTION]

    Wow! This offering of yours is tremendous! Thank you thank you!

    I am sorry I am only just noticing this thread for the first time

    I tried it out and I especially loved the breaking up of waves along the shoreline, your landscape feature. The buoyancy and Gerstner waves are great, tho personally I think of them as DotCamWaves

    This is one awesome community contribution, thank youuuu!



    Rama

    Leave a comment:


  • replied
    Very cool plugin! Thank for making this effort! I have been playing with this for a few hours, I striped down one of the examples to just have the ocean, and my own sky as I was trying to reduce the overall learning curve to the system.

    Question if I want to make wakes for a boat simulating an engine what method would be the best way to go about that? Do I create physics impulses perturb the water? I am doing some tests just wondering if someone has already created an additional example of this working.

    Question 2: Wet sand? Someone must have done this already as well.

    Thank you again for the continued effort on this plugin / system!

    -V

    Leave a comment:


  • replied
    Originally posted by mach7monkey View Post
    Okay, I've done this before but for the life of me, I can't remember how, and I've read about 20 pages of the thread... how do I disable/modify the crosshair in the HUD when it switches to first person?
    Open up the folder \ShipsAndExamples\UI\ and then open the widget named "Interaction Widget". From here select "Crosshair" from the Hierarchy panel and either delete it, or edit it however you want.

    Originally posted by huiying.lin View Post
    Hi, there

    We were trying to deploy the project to IOS(iphone 6, 6s), but failed with several compile errors below. Could anyone tell me how to solve this?
    [ATTACH=CONFIG]100053[/ATTACH]
    This project is not compatible with Mobile devices at the moment. The ocean material requires DirectX 11, the Destructible objects require the Nvidia Apex, and the buoyancy requires the PhysX libraries, all of which are not available on iOS.

    We do plan to make an OpenGL compatible version of the material, but without PhysX the buoyancy calculations will need to be re-written, and without Apex there won't be any destructibles or cloth simulation (ship sails).

    Sorry for the bad news.

    Leave a comment:


  • replied
    I had something similar with an object that was referenced to the controller but did not exist, don't know if it will help you, but you could check dependencies, maybe there's something missing.

    Leave a comment:


  • replied
    Hi, there

    We were trying to deploy the project to IOS(iphone 6, 6s), but failed with several compile errors below. Could anyone tell me how to solve this?
    Click image for larger version

Name:	compile errors.png
Views:	1
Size:	44.3 KB
ID:	1111290

    Leave a comment:


  • replied
    Thx i saw it, and i know how add plugin but how i write in previous post problem is if i try add plugin to a project when start editor he ask me to compile and compile with error. Question is same how to compile plugin to 4.12.4 editor, i use github version of engine. Edit: compile without errors, problem was in name of folder or version in .uplugin file, compile with: development editor win64.
    Last edited by FastD; 06-29-2016, 09:02 AM.

    Leave a comment:


  • replied
    Hello,

    Could anyone tell me how do I fix the darker part?
    http://i.imgur.com/LkSIngU.jpg
    Attached Files

    Leave a comment:

Working...
X