|
Blender V4.5
|
#include <stdbool.h>Go to the source code of this file.
Classes | |
| struct | OceanResult |
| struct | OceanCache |
Typedefs | |
| typedef struct OceanResult | OceanResult |
| typedef struct OceanCache | OceanCache |
Functions | |
| struct Ocean * | BKE_ocean_add (void) |
| void | BKE_ocean_free_data (struct Ocean *oc) |
| void | BKE_ocean_free (struct Ocean *oc) |
| bool | BKE_ocean_ensure (struct OceanModifierData *omd, int resolution) |
| bool | BKE_ocean_init_from_modifier (struct Ocean *ocean, struct OceanModifierData const *omd, int resolution) |
| bool | BKE_ocean_is_valid (const struct Ocean *o) |
| bool | BKE_ocean_init (struct Ocean *o, int M, int N, float Lx, float Lz, float V, float l, float A, float w, float damp, float alignment, float depth, float time, int spectrum, float fetch_jonswap, float sharpen_peak_jonswap, short do_height_field, short do_chop, short do_spray, short do_normals, short do_jacobian, int seed) |
| void | BKE_ocean_simulate (struct Ocean *o, float t, float scale, float chop_amount) |
| float | BKE_ocean_jminus_to_foam (float jminus, float coverage) |
| void | BKE_ocean_eval_uv (struct Ocean *oc, struct OceanResult *ocr, float u, float v) |
| void | BKE_ocean_eval_uv_catrom (struct Ocean *oc, struct OceanResult *ocr, float u, float v) |
| void | BKE_ocean_eval_xz (struct Ocean *oc, struct OceanResult *ocr, float x, float z) |
| void | BKE_ocean_eval_xz_catrom (struct Ocean *oc, struct OceanResult *ocr, float x, float z) |
| void | BKE_ocean_eval_ij (struct Ocean *oc, struct OceanResult *ocr, int i, int j) |
| struct OceanCache * | BKE_ocean_init_cache (const char *bakepath, const char *relbase, int start, int end, float wave_scale, float chop_amount, float foam_coverage, float foam_fade, int resolution) |
| void | BKE_ocean_simulate_cache (struct OceanCache *och, int frame) |
| void | BKE_ocean_bake (struct Ocean *o, struct OceanCache *och, void(*update_cb)(void *, float progress, int *cancel), void *update_cb_data) |
| void | BKE_ocean_cache_eval_uv (struct OceanCache *och, struct OceanResult *ocr, int f, float u, float v) |
| void | BKE_ocean_cache_eval_ij (struct OceanCache *och, struct OceanResult *ocr, int f, int i, int j) |
| void | BKE_ocean_free_cache (struct OceanCache *och) |
| void | BKE_ocean_free_modifier_cache (struct OceanModifierData *omd) |
| float | BLI_ocean_spectrum_piersonmoskowitz (const struct Ocean *oc, float kx, float kz) |
| float | BLI_ocean_spectrum_texelmarsenarsloe (const struct Ocean *oc, float kx, float kz) |
| float | BLI_ocean_spectrum_jonswap (const struct Ocean *oc, float kx, float kz) |
| typedef struct OceanCache OceanCache |
| typedef struct OceanResult OceanResult |
| struct Ocean * BKE_ocean_add | ( | void | ) |
Definition at line 1571 of file ocean.cc.
References BKE_ocean_add(), and MEM_callocN().
Referenced by BKE_ocean_add(), copy_data(), init_data(), and blender::ed::object::ocean_bake_exec().
| void BKE_ocean_bake | ( | struct Ocean * | o, |
| struct OceanCache * | och, | ||
| void(* | update_cb )(void *, float progress, int *cancel), | ||
| void * | update_cb_data ) |
Definition at line 1652 of file ocean.cc.
References BKE_ocean_bake(), and progress.
Referenced by BKE_ocean_bake(), BKE_ocean_is_valid(), blender::ed::object::ocean_bake_exec(), and blender::ed::object::oceanbake_startjob().
| void BKE_ocean_cache_eval_ij | ( | struct OceanCache * | och, |
| struct OceanResult * | ocr, | ||
| int | f, | ||
| int | i, | ||
| int | j ) |
Definition at line 1630 of file ocean.cc.
References BKE_ocean_cache_eval_ij().
Referenced by BKE_ocean_cache_eval_ij(), and BKE_ocean_is_valid().
| void BKE_ocean_cache_eval_uv | ( | struct OceanCache * | och, |
| struct OceanResult * | ocr, | ||
| int | f, | ||
| float | u, | ||
| float | v ) |
Definition at line 1625 of file ocean.cc.
References BKE_ocean_cache_eval_uv().
Referenced by BKE_ocean_cache_eval_uv(), and BKE_ocean_is_valid().
| bool BKE_ocean_ensure | ( | struct OceanModifierData * | omd, |
| int | resolution ) |
References BKE_ocean_ensure().
Referenced by BKE_ocean_ensure().
| void BKE_ocean_eval_ij | ( | struct Ocean * | oc, |
| struct OceanResult * | ocr, | ||
| int | i, | ||
| int | j ) |
Note that this doesn't wrap properly for i, j < 0, but its not really meant for that being just a way to get the raw data out to save in some image format.
Definition at line 1567 of file ocean.cc.
References BKE_ocean_eval_ij().
Referenced by BKE_ocean_eval_ij(), and BKE_ocean_is_valid().
| void BKE_ocean_eval_uv | ( | struct Ocean * | oc, |
| struct OceanResult * | ocr, | ||
| float | u, | ||
| float | v ) |
Sampling the ocean surface.
Definition at line 1558 of file ocean.cc.
References BKE_ocean_eval_uv().
Referenced by BKE_ocean_eval_uv(), and BKE_ocean_is_valid().
| void BKE_ocean_eval_uv_catrom | ( | struct Ocean * | oc, |
| struct OceanResult * | ocr, | ||
| float | u, | ||
| float | v ) |
Use catmullrom interpolation rather than linear.
Definition at line 1561 of file ocean.cc.
References BKE_ocean_eval_uv_catrom().
Referenced by BKE_ocean_eval_uv_catrom(), and BKE_ocean_is_valid().
| void BKE_ocean_eval_xz | ( | struct Ocean * | oc, |
| struct OceanResult * | ocr, | ||
| float | x, | ||
| float | z ) |
Definition at line 1563 of file ocean.cc.
References BKE_ocean_eval_xz().
Referenced by BKE_ocean_eval_xz(), and BKE_ocean_is_valid().
| void BKE_ocean_eval_xz_catrom | ( | struct Ocean * | oc, |
| struct OceanResult * | ocr, | ||
| float | x, | ||
| float | z ) |
Definition at line 1565 of file ocean.cc.
References BKE_ocean_eval_xz_catrom().
Referenced by BKE_ocean_eval_xz_catrom(), and BKE_ocean_is_valid().
| void BKE_ocean_free | ( | struct Ocean * | oc | ) |
Definition at line 1606 of file ocean.cc.
References BKE_ocean_free(), and MEM_freeN().
Referenced by BKE_ocean_free(), free_data(), and blender::ed::object::oceanbake_endjob().
| void BKE_ocean_free_cache | ( | struct OceanCache * | och | ) |
Definition at line 1616 of file ocean.cc.
References BKE_ocean_free_cache(), and MEM_freeN().
Referenced by BKE_ocean_free_cache(), BKE_ocean_free_modifier_cache(), BKE_ocean_is_valid(), and free_data().
| void BKE_ocean_free_data | ( | struct Ocean * | oc | ) |
Definition at line 1604 of file ocean.cc.
References BKE_ocean_free_data().
Referenced by BKE_ocean_free_data().
| void BKE_ocean_free_modifier_cache | ( | struct OceanModifierData * | omd | ) |
Definition at line 1670 of file ocean.cc.
References BKE_ocean_free_cache(), BKE_ocean_free_modifier_cache(), OceanModifierData::cached, and OceanModifierData::oceancache.
Referenced by BKE_ocean_free_modifier_cache(), BKE_ocean_is_valid(), and blender::ed::object::ocean_bake_exec().
| bool BKE_ocean_init | ( | struct Ocean * | o, |
| int | M, | ||
| int | N, | ||
| float | Lx, | ||
| float | Lz, | ||
| float | V, | ||
| float | l, | ||
| float | A, | ||
| float | w, | ||
| float | damp, | ||
| float | alignment, | ||
| float | depth, | ||
| float | time, | ||
| int | spectrum, | ||
| float | fetch_jonswap, | ||
| float | sharpen_peak_jonswap, | ||
| short | do_height_field, | ||
| short | do_chop, | ||
| short | do_spray, | ||
| short | do_normals, | ||
| short | do_jacobian, | ||
| int | seed ) |
Return true if the ocean data is valid and can be used.
Definition at line 1578 of file ocean.cc.
References BKE_ocean_init().
Referenced by BKE_ocean_init(), and BKE_ocean_is_valid().
| struct OceanCache * BKE_ocean_init_cache | ( | const char * | bakepath, |
| const char * | relbase, | ||
| int | start, | ||
| int | end, | ||
| float | wave_scale, | ||
| float | chop_amount, | ||
| float | foam_coverage, | ||
| float | foam_fade, | ||
| int | resolution ) |
Ocean cache handling.
Definition at line 1635 of file ocean.cc.
References BKE_ocean_init_cache(), and MEM_callocN().
Referenced by BKE_ocean_init_cache(), BKE_ocean_is_valid(), and blender::ed::object::ocean_bake_exec().
| bool BKE_ocean_init_from_modifier | ( | struct Ocean * | ocean, |
| struct OceanModifierData const * | omd, | ||
| int | resolution ) |
Return true if the ocean data is valid and can be used.
References BKE_ocean_init_from_modifier().
Referenced by BKE_ocean_init_from_modifier(), BKE_ocean_init_from_modifier(), copy_data(), init_data(), and blender::ed::object::ocean_bake_exec().
| bool BKE_ocean_is_valid | ( | const struct Ocean * | o | ) |
Return true if the ocean is valid and can be used.
References A, BKE_ocean_bake(), BKE_ocean_cache_eval_ij(), BKE_ocean_cache_eval_uv(), BKE_ocean_eval_ij(), BKE_ocean_eval_uv(), BKE_ocean_eval_uv_catrom(), BKE_ocean_eval_xz(), BKE_ocean_eval_xz_catrom(), BKE_ocean_free_cache(), BKE_ocean_free_modifier_cache(), BKE_ocean_init(), BKE_ocean_init_cache(), BKE_ocean_is_valid(), BKE_ocean_jminus_to_foam(), BKE_ocean_simulate(), BKE_ocean_simulate_cache(), i, l, M, N, progress, V, v, w(), x, and z().
Referenced by BKE_ocean_is_valid().
| float BKE_ocean_jminus_to_foam | ( | float | jminus, |
| float | coverage ) |
Definition at line 1553 of file ocean.cc.
References BKE_ocean_jminus_to_foam().
Referenced by BKE_ocean_is_valid(), and BKE_ocean_jminus_to_foam().
| void BKE_ocean_simulate | ( | struct Ocean * | o, |
| float | t, | ||
| float | scale, | ||
| float | chop_amount ) |
Definition at line 1569 of file ocean.cc.
References BKE_ocean_simulate().
Referenced by BKE_ocean_is_valid(), and BKE_ocean_simulate().
| void BKE_ocean_simulate_cache | ( | struct OceanCache * | och, |
| int | frame ) |
Definition at line 1650 of file ocean.cc.
References BKE_ocean_simulate_cache().
Referenced by BKE_ocean_is_valid(), and BKE_ocean_simulate_cache().
| float BLI_ocean_spectrum_jonswap | ( | const struct Ocean * | oc, |
| float | kx, | ||
| float | kz ) |
Hasselmann et al, 1973. This model extends the Pierson-Moskowitz model with a peak sharpening function This enhancement is an artificial construct to address the problem that the wave spectrum is never fully developed.
The fetch parameter represents the distance from a lee shore, called the fetch, or the distance over which the wind blows with constant velocity.
References BLI_ocean_spectrum_jonswap().
Referenced by BLI_ocean_spectrum_jonswap().
| float BLI_ocean_spectrum_piersonmoskowitz | ( | const struct Ocean * | oc, |
| float | kx, | ||
| float | kz ) |
Pierson-Moskowitz model, 1964, assumes waves reach equilibrium with wind. Model is intended for large area 'fully developed' sea, where winds have been steadily blowing for days over an area that includes hundreds of wavelengths on a side.
References BLI_ocean_spectrum_piersonmoskowitz().
Referenced by BLI_ocean_spectrum_piersonmoskowitz().
| float BLI_ocean_spectrum_texelmarsenarsloe | ( | const struct Ocean * | oc, |
| float | kx, | ||
| float | kz ) |
TMA extends the JONSWAP spectrum. This spectral model is best suited to shallow water.
References BLI_ocean_spectrum_texelmarsenarsloe().
Referenced by BLI_ocean_spectrum_texelmarsenarsloe().