Skip to content

package shader_data_registry

import "kaijuengine.com/registry/shader_data_registry"

Constants

ShaderDataStandardFlagOutline

StandardShaderDataFlags(1 << iota)

Enable

bit

will

be

set

anytime

there

are

flags

This

is

needed

because

bits

at

the

extremes

of

the

float

will

be

truncated

to

0

otherwise

By

setting

this

bit

exponent

bit

2

this

issue

can

be

prevented

ShaderDataStandardFlagEnable

1 << 30

TerrainLayerCount

8

TerrainLayerParameters

3

TerrainLayerParameterCount

TerrainLayerCount * TerrainLayerParameters

Functions

Create

func Create(name string) rendering.DrawInstance

StandardShaderDataFlagsClear

func StandardShaderDataFlagsClear(target rendering.DrawInstance, flag StandardShaderDataFlags)

StandardShaderDataFlagsSet

func StandardShaderDataFlagsSet(target rendering.DrawInstance, flag StandardShaderDataFlags)

StandardShaderDataFlagsTest

func StandardShaderDataFlagsTest(target rendering.DrawInstance, flag StandardShaderDataFlags) bool

Types

ShaderDataEdFrustumWire

struct

type ShaderDataEdFrustumWire struct {
    rendering.ShaderDataBase `visible:"false"`

    Color             matrix.Color
    FrustumProjection matrix.Mat4
}

ShaderDataEdFrustumWire.Size

func (ShaderDataEdFrustumWire) Size() int

ShaderDataEdThumbPreviewMesh

struct

type ShaderDataEdThumbPreviewMesh struct {
    rendering.ShaderDataBase `visible:"false"`

    View       matrix.Mat4 `visible:"false"`
    Projection matrix.Mat4 `visible:"false"`
}

ShaderDataEdThumbPreviewMesh.SetCamera

func (s *ShaderDataEdThumbPreviewMesh) SetCamera(view, projection matrix.Mat4)

ShaderDataEdThumbPreviewMesh.Size

func (ShaderDataEdThumbPreviewMesh) Size() int

ShaderDataEdTransformWire

struct

type ShaderDataEdTransformWire struct {
    rendering.ShaderDataBase `visible:"false"`

    Color matrix.Color
}

ShaderDataEdTransformWire.Size

func (ShaderDataEdTransformWire) Size() int

ShaderDataEditorPicking

struct

type ShaderDataEditorPicking struct {
    rendering.ShaderDataBase `visible:"false"`

    PickID uint32 `visible:"false"`
}

ShaderDataEditorPicking.Size

func (ShaderDataEditorPicking) Size() int

ShaderDataGrid

struct

type ShaderDataGrid struct {
    rendering.ShaderDataBase `visible:"false"`

    Color matrix.Color
}

ShaderDataGrid.Size

func (ShaderDataGrid) Size() int

ShaderDataOcean

struct

type ShaderDataOcean struct {
    rendering.ShaderDataBase `visible:"false"`

    ShallowColor      matrix.Color
    DeepColor         matrix.Color
    WaveParams        matrix.Vec4
    Flags             StandardShaderDataFlags `visible:"false"`
    LightIds          [4]int32                `visible:"false"`
    BrushCenterRadius matrix.Vec4             `visible:"false"`
    BrushParams       matrix.Vec4             `visible:"false"`
    BrushColor        matrix.Color
}

ShaderDataOcean controls a procedural, nonmetallic water surface. WaveParams are amplitude, speed, spatial frequency, and roughness.

ShaderDataOcean.ClearBrush

func (s *ShaderDataOcean) ClearBrush()

ShaderDataOcean.SelectLights

func (s *ShaderDataOcean) SelectLights(lights rendering.LightsForRender)

ShaderDataOcean.SetBrush

func (s *ShaderDataOcean) SetBrush(centerXZ matrix.Vec2, radius, ringWidth matrix.Float, color matrix.Color)

ShaderDataOcean.Size

func (ShaderDataOcean) Size() int

ShaderDataPBR

struct

type ShaderDataPBR struct {
    rendering.ShaderDataBase `visible:"false"`

    VertColors matrix.Color
    MeRoEmAo   matrix.Vec4
    Flags      StandardShaderDataFlags `visible:"false"`
    LightIds   [4]int32                `visible:"false"`
}

ShaderDataPBR.SelectLights

func (s *ShaderDataPBR) SelectLights(lights rendering.LightsForRender)

ShaderDataPBR.Size

func (ShaderDataPBR) Size() int

ShaderDataParticle

struct

type ShaderDataParticle struct {
    rendering.ShaderDataBase `visible:"false"`

    Color matrix.Color
    UVs   matrix.Vec4 `default:"0,0,1,1"`
}

ShaderDataParticle.Size

func (ShaderDataParticle) Size() int

ShaderDataPbrSkinned

struct

type ShaderDataPbrSkinned struct {
    rendering.SkinnedShaderDataHeader `visible:"false"`
    rendering.ShaderDataBase          `visible:"false"`

    VertColors matrix.Color
    MeRoEmAo   matrix.Vec4
    Flags      StandardShaderDataFlags `visible:"false"`
    LightIds   [4]int32                `visible:"false"`
}

ShaderDataPbrSkinned.BoundDataPointer

func (t *ShaderDataPbrSkinned) BoundDataPointer() unsafe.Pointer

ShaderDataPbrSkinned.InstanceBoundDataSize

func (t *ShaderDataPbrSkinned) InstanceBoundDataSize() int

ShaderDataPbrSkinned.SelectLights

func (s *ShaderDataPbrSkinned) SelectLights(lights rendering.LightsForRender)

ShaderDataPbrSkinned.Size

func (ShaderDataPbrSkinned) Size() int

ShaderDataPbrSkinned.SkinningHeader

func (t *ShaderDataPbrSkinned) SkinningHeader() *rendering.SkinnedShaderDataHeader

ShaderDataPbrSkinned.UpdateBoundData

func (t *ShaderDataPbrSkinned) UpdateBoundData() bool

ShaderDataStandard

struct

type ShaderDataStandard struct {
    rendering.ShaderDataBase `visible:"false"`

    Color matrix.Color
    Flags StandardShaderDataFlags `visible:"false"`
}

ShaderDataStandard.Size

func (ShaderDataStandard) Size() int

ShaderDataStandardSkinned

struct

type ShaderDataStandardSkinned struct {
    rendering.SkinnedShaderDataHeader `visible:"false"`
    rendering.ShaderDataBase          `visible:"false"`

    Color matrix.Color
    Flags StandardShaderDataFlags `visible:"false"`
}

ShaderDataStandardSkinned.BoundDataPointer

func (t *ShaderDataStandardSkinned) BoundDataPointer() unsafe.Pointer

ShaderDataStandardSkinned.InstanceBoundDataSize

func (t *ShaderDataStandardSkinned) InstanceBoundDataSize() int

ShaderDataStandardSkinned.Size

func (ShaderDataStandardSkinned) Size() int

ShaderDataStandardSkinned.SkinningHeader

func (t *ShaderDataStandardSkinned) SkinningHeader() *rendering.SkinnedShaderDataHeader

ShaderDataStandardSkinned.UpdateBoundData

func (t *ShaderDataStandardSkinned) UpdateBoundData() bool

ShaderDataTerrain

struct

type ShaderDataTerrain struct {
    rendering.ShaderDataBase `visible:"false"`

    Color             matrix.Color
    UVs               matrix.Vec4 `default:"0,0,1,1"`
    BrushCenterRadius matrix.Vec4 `visible:"false"`
    BrushParams       matrix.Vec4 `visible:"false" default:"0.15,0.18,0.85,0"`
    BrushColor        matrix.Color
    Flags             StandardShaderDataFlags `visible:"false"`
    LightIds          [4]int32                `visible:"false"`

    LayerParameters [TerrainLayerParameterCount]matrix.Vec4 `visible:"false"`
}

ShaderDataTerrain.BoundDataPointer

func (t *ShaderDataTerrain) BoundDataPointer() unsafe.Pointer

ShaderDataTerrain.ClearBrush

func (t *ShaderDataTerrain) ClearBrush()

ShaderDataTerrain.InstanceBoundDataSize

func (t *ShaderDataTerrain) InstanceBoundDataSize() int

ShaderDataTerrain.SelectLights

func (t *ShaderDataTerrain) SelectLights(lights rendering.LightsForRender)

ShaderDataTerrain.SetBrush

func (t *ShaderDataTerrain) SetBrush(centerXZ matrix.Vec2, radius, ringWidth matrix.Float, color matrix.Color)

ShaderDataTerrain.SetLayerParameters

func (t *ShaderDataTerrain) SetLayerParameters(parameters [TerrainLayerParameterCount]matrix.Vec4)

ShaderDataTerrain.Size

func (t ShaderDataTerrain) Size() int

ShaderDataTerrain.UpdateBoundData

func (t *ShaderDataTerrain) UpdateBoundData() bool

ShaderDataUnlit

struct

type ShaderDataUnlit struct {
    rendering.ShaderDataBase `visible:"false"`

    Color matrix.Color
    UVs   matrix.Vec4             `default:"0,0,1,1"`
    Flags StandardShaderDataFlags `visible:"false"`
}

ShaderDataUnlit.Size

func (ShaderDataUnlit) Size() int

StandardShaderDataFlags

uint32

type StandardShaderDataFlags = uint32