Continuous EnergyGun lightning built on the same ArcVertex path as Railgun.
More...
#include <EnergyTeslaArcEffect.hpp>
|
| void | drive (uint32_t key, glm::vec3 origin, glm::vec3 guidePoint, glm::vec3 hitPoint, bool locked, float lockStrength) |
| void | debugPreview (glm::vec3 origin, glm::vec3 guidePoint, glm::vec3 hitPoint, bool locked, float lockStrength) |
| void | debugPulse (glm::vec3 origin, glm::vec3 guidePoint, glm::vec3 hitPoint, bool locked, float lockStrength) |
| void | update (float dt, glm::vec3 camForward) |
| const ArcVertex * | mainArcData () const |
| uint32_t | mainArcCount () const |
| const ArcVertex * | detailArcData () const |
| uint32_t | detailArcCount () const |
| uint32_t | arcCount () const |
| uint32_t | activeBeamCount () const |
|
| Beam * | findOrAllocBeam (uint32_t key) |
| void | rerandomizeBranches (Beam &beam) |
| void | appendArcStrip (std::vector< ArcVertex > &out, const std::vector< glm::vec3 > &pts, float radius, glm::vec4 color, glm::vec3 camForward) |
| void | appendLayeredBolt (const std::vector< glm::vec3 > &pts, float fade, float radiusScale, bool primary, glm::vec3 camForward) |
| void | appendBranches (const Beam &beam, const std::vector< glm::vec3 > &mainPts, glm::vec3 axisN, glm::vec3 perp, glm::vec3 perp2, float len, float fade, glm::vec3 camForward) |
| void | appendCorona (glm::vec3 center, glm::vec3 axisN, glm::vec3 perp, glm::vec3 perp2, float len, float fade, float seed, bool targetCorona, glm::vec3 camForward) |
| void | appendEnergyBall (const Beam &beam, glm::vec3 axisN, glm::vec3 perp, glm::vec3 perp2, float len, float fade, glm::vec3 camForward) |
|
| static float | hash01 (uint32_t n) |
| static float | smooth01 (float v) |
| static glm::vec3 | safeNormalize (glm::vec3 v, glm::vec3 fallback) |
| static glm::vec3 | cubic (glm::vec3 p0, glm::vec3 p1, glm::vec3 p2, glm::vec3 p3, float t) |
| static PathSample | buildGuidePath (glm::vec3 origin, glm::vec3 guidePoint, glm::vec3 hitPoint, bool locked, float lockStrength) |
Continuous EnergyGun lightning built on the same ArcVertex path as Railgun.
◆ activeBeamCount()
| uint32_t EnergyTeslaArcEffect::activeBeamCount |
( |
| ) |
const |
|
nodiscard |
◆ appendArcStrip()
| void EnergyTeslaArcEffect::appendArcStrip |
( |
std::vector< ArcVertex > & | out, |
|
|
const std::vector< glm::vec3 > & | pts, |
|
|
float | radius, |
|
|
glm::vec4 | color, |
|
|
glm::vec3 | camForward ) |
|
private |
◆ appendBranches()
| void EnergyTeslaArcEffect::appendBranches |
( |
const Beam & | beam, |
|
|
const std::vector< glm::vec3 > & | mainPts, |
|
|
glm::vec3 | axisN, |
|
|
glm::vec3 | perp, |
|
|
glm::vec3 | perp2, |
|
|
float | len, |
|
|
float | fade, |
|
|
glm::vec3 | camForward ) |
|
private |
◆ appendCorona()
| void EnergyTeslaArcEffect::appendCorona |
( |
glm::vec3 | center, |
|
|
glm::vec3 | axisN, |
|
|
glm::vec3 | perp, |
|
|
glm::vec3 | perp2, |
|
|
float | len, |
|
|
float | fade, |
|
|
float | seed, |
|
|
bool | targetCorona, |
|
|
glm::vec3 | camForward ) |
|
private |
◆ appendEnergyBall()
| void EnergyTeslaArcEffect::appendEnergyBall |
( |
const Beam & | beam, |
|
|
glm::vec3 | axisN, |
|
|
glm::vec3 | perp, |
|
|
glm::vec3 | perp2, |
|
|
float | len, |
|
|
float | fade, |
|
|
glm::vec3 | camForward ) |
|
private |
◆ appendLayeredBolt()
| void EnergyTeslaArcEffect::appendLayeredBolt |
( |
const std::vector< glm::vec3 > & | pts, |
|
|
float | fade, |
|
|
float | radiusScale, |
|
|
bool | primary, |
|
|
glm::vec3 | camForward ) |
|
private |
◆ arcCount()
| uint32_t EnergyTeslaArcEffect::arcCount |
( |
| ) |
const |
|
inlinenodiscard |
◆ buildGuidePath()
| EnergyTeslaArcEffect::PathSample EnergyTeslaArcEffect::buildGuidePath |
( |
glm::vec3 | origin, |
|
|
glm::vec3 | guidePoint, |
|
|
glm::vec3 | hitPoint, |
|
|
bool | locked, |
|
|
float | lockStrength ) |
|
staticnodiscardprivate |
◆ buildGuidePathForTest()
| EnergyTeslaArcEffect::PathSample EnergyTeslaArcEffect::buildGuidePathForTest |
( |
glm::vec3 | origin, |
|
|
glm::vec3 | guidePoint, |
|
|
glm::vec3 | hitPoint, |
|
|
bool | locked, |
|
|
float | lockStrength ) |
|
staticnodiscard |
◆ cubic()
| glm::vec3 EnergyTeslaArcEffect::cubic |
( |
glm::vec3 | p0, |
|
|
glm::vec3 | p1, |
|
|
glm::vec3 | p2, |
|
|
glm::vec3 | p3, |
|
|
float | t ) |
|
staticnodiscardprivate |
◆ debugPreview()
| void EnergyTeslaArcEffect::debugPreview |
( |
glm::vec3 | origin, |
|
|
glm::vec3 | guidePoint, |
|
|
glm::vec3 | hitPoint, |
|
|
bool | locked, |
|
|
float | lockStrength ) |
◆ debugPulse()
| void EnergyTeslaArcEffect::debugPulse |
( |
glm::vec3 | origin, |
|
|
glm::vec3 | guidePoint, |
|
|
glm::vec3 | hitPoint, |
|
|
bool | locked, |
|
|
float | lockStrength ) |
◆ detailArcCount()
| uint32_t EnergyTeslaArcEffect::detailArcCount |
( |
| ) |
const |
|
inlinenodiscard |
◆ detailArcData()
| const ArcVertex * EnergyTeslaArcEffect::detailArcData |
( |
| ) |
const |
|
inlinenodiscard |
◆ drive()
| void EnergyTeslaArcEffect::drive |
( |
uint32_t | key, |
|
|
glm::vec3 | origin, |
|
|
glm::vec3 | guidePoint, |
|
|
glm::vec3 | hitPoint, |
|
|
bool | locked, |
|
|
float | lockStrength ) |
◆ findOrAllocBeam()
◆ hash01()
| float EnergyTeslaArcEffect::hash01 |
( |
uint32_t | n | ) |
|
|
staticnodiscardprivate |
◆ mainArcCount()
| uint32_t EnergyTeslaArcEffect::mainArcCount |
( |
| ) |
const |
|
inlinenodiscard |
◆ mainArcData()
| const ArcVertex * EnergyTeslaArcEffect::mainArcData |
( |
| ) |
const |
|
inlinenodiscard |
◆ rerandomizeBranches()
| void EnergyTeslaArcEffect::rerandomizeBranches |
( |
Beam & | beam | ) |
|
|
private |
◆ safeNormalize()
| glm::vec3 EnergyTeslaArcEffect::safeNormalize |
( |
glm::vec3 | v, |
|
|
glm::vec3 | fallback ) |
|
staticnodiscardprivate |
◆ smooth01()
| float EnergyTeslaArcEffect::smooth01 |
( |
float | v | ) |
|
|
staticnodiscardprivate |
◆ update()
| void EnergyTeslaArcEffect::update |
( |
float | dt, |
|
|
glm::vec3 | camForward ) |
◆ beams_
◆ debugKey_
| uint32_t EnergyTeslaArcEffect::debugKey_ = 0xEA11u |
|
private |
◆ debugPreviewKey_
| uint32_t EnergyTeslaArcEffect::debugPreviewKey_ = 0xEA10u |
|
private |
◆ detailArcVerts_
| std::vector<ArcVertex> EnergyTeslaArcEffect::detailArcVerts_ |
|
private |
◆ k_branchRetime
| float EnergyTeslaArcEffect::k_branchRetime = 0.045f |
|
staticconstexprprivate |
◆ k_branchSegs
| int EnergyTeslaArcEffect::k_branchSegs = 7 |
|
staticconstexprprivate |
◆ k_fadeTime
| float EnergyTeslaArcEffect::k_fadeTime = 0.08f |
|
staticconstexprprivate |
◆ k_mainSegs
| int EnergyTeslaArcEffect::k_mainSegs = 32 |
|
staticconstexprprivate |
◆ k_maxBeams
| int EnergyTeslaArcEffect::k_maxBeams = 8 |
|
staticconstexprprivate |
◆ k_maxBranches
| int EnergyTeslaArcEffect::k_maxBranches = 8 |
|
staticconstexprprivate |
◆ k_maxStrands
| int EnergyTeslaArcEffect::k_maxStrands = 3 |
|
staticconstexprprivate |
◆ mainArcVerts_
| std::vector<ArcVertex> EnergyTeslaArcEffect::mainArcVerts_ |
|
private |
The documentation for this class was generated from the following files: