- Notifications
You must be signed in to change notification settings - Fork3
Realtime / dynamic ocean shader, fully customizable in-game via the use of the IW3xo client
NotificationsYou must be signed in to change notification settings
xoxor4d/cod4-shader-ocean
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
A Call of Duty 4 - Realtime / dynamic ocean shader, fully customizable in-game via the use of the IW3xo client
- Clone the repo or download as zip
- Copy all files into the cod4 root directory
- Open the "shader_ocean.gdt" in Asset Manager, compile the material and the xmodel
- Compile shaders, "worldfx_ocean" and "worldfx_ocean_unlit" by either usinghttps://xoxor4d.github.io/projects/cod4-compileTools/ or shader_tool directly (https://xoxor4d.github.io/tutorials/hlsl-intro/#compiling)
- Place the "ocean_plane" xmodel into your map or apply the material to any other kind of xmodel/terrain patch
- Tweak in-game using IW3xo (The shader ships with in-game tweaking enabled, requiring IW3xo to be used, see below to disable this if needed)
- Use IW3xo and the built in command "/devgui" -> ocean tab to tweak the shader however you like. Use the export button to export your settings. (root/iw3xo/shader_settings/ocean_settings.txt)
- Overwrite the static shader constants inside the#else block (ifUSE_CUSTOM_CONSTANTS is not defined) in both the vertex and pixelshader. Note that both are sharing 3 of the exported constants.
- The shader ships with in-game tweaking enabled, requiring IW3xo to be used. This can be disabled by commenting "//"#define USE_CUSTOM_CONSTANTS in both the vertex and pixelshader.
- DisablingUSE_CUSTOM_CONSTANTS will enable vanilla cod4 usage. You have to do this before you ship your mod/map.
IW3xo supports loading/reloading of fastfiles and its assets in-game
Expecting that you already have the shader up and running in your map/mod, do the following:
- Include the following in your fastfile zone:
material,dynamic_ocean
techset,mc_worldfx_ocean
techset,wc_worldfx_ocean
techset,worldfx_ocean- Modify the shader and recompile it
- Build the fastfile
- Load up your map/mod thats including the ocean shader
- Use the following command to load your zone file: "/loadzone your_zone_name"
- The ocean shader should now reflect your changes
- Rinse and repeat
- Flat plane models with lots of vertices work best (for obvious reasons)
- The shader was written to be used with models. It does however work with terrain patches and alike. It just wont look as good.
- Duplicate shader files and assign them to a new material if you need different settings for different enviroments
- The _unlit variant will be used in radiant or in-game when r_fullbright is turned on. Please note that the _unlit variant does not support custom shader constants, meaning it cannot be controlled in-game. (use to the addon fastfile method instead)
Project Page:
https://xoxor4d.github.io/projects/cod4-ocean/
IW3xo:
https://xoxor4d.github.io/projects/iw3xo/
Custom CoD4 Compiletools:
https://xoxor4d.github.io/projects/cod4-compileTools/
Discord:
https://discord.gg/t5jRGbj
About
Realtime / dynamic ocean shader, fully customizable in-game via the use of the IW3xo client
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published



