basil3d

package
v0.0.0-...-1940c98 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2025 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HasPosition int = 1 << iota
	HasNormal
	HasTangent
	HasTexcoord0
	HasBlendWeight0
	HasWeightIndices0
	HasTexture0
	HasTexture1
	HasTexture2
	HasDoubleSided
	HasAlphaBlend
)

Variables

This section is empty.

Functions

This section is empty.

Types

type App

type App struct {
	Embed []*string               `json:"embed"`
	JSON  map[string]*interface{} `json:"json"`
	WGSL  AppWGSL                 `json:"wgsl"`
	GLTF  AppGLTF                 `json:"gltf"`
}

type AppGLTF

type AppGLTF struct {
	Buffer  []*AppGLTFBuffer        `json:"buffer,omitempty"`
	Texture []*AppGLTFTexture       `json:"texture,omitempty"`
	Segment []*AppGLTFSegment       `json:"segment,omitempty"`
	Mesh    map[string]*AppGLTFMesh `json:"mesh,omitempty"`
}

type AppGLTFBuffer

type AppGLTFBuffer struct {
	Embed int `json:"embed,omitempty"`
}

type AppGLTFMesh

type AppGLTFMesh struct {
	Segment []int `json:"segment"`
}

type AppGLTFSegment

type AppGLTFSegment struct {
	Hint int `json:"hint"`

	// Input
	VertexBuffer0 []int `json:"vb0,omitempty"` // [buffer, offset, size], slot: 0, shaderLocation: 0, format: float32x3 (position)
	VertexBuffer1 []int `json:"vb1,omitempty"` // [buffer, offset, size], slot: 1, shaderLocation: 1, format: float32x3 (normal)
	VertexBuffer2 []int `json:"vb2,omitempty"` // [buffer, offset, size], slot: 2, shaderLocation: 2
	VertexBuffer3 []int `json:"vb3,omitempty"` // [buffer, offset, size], slot: 3, shaderLocation: 3
	VertexBuffer4 []int `json:"vb4,omitempty"` // [buffer, offset, size], slot: 4, shaderLocation: 4
	VertexBuffer5 []int `json:"vb5,omitempty"` // [buffer, offset, size], slot: 5, shaderLocation: 5
	IndexBuffer   []int `json:"ib,omitempty"`  // [buffer, offset, size], format: uint16

	// Uniform
	Factor0  []float64 `json:"factor0,omitempty"`  // [Color.r, Color.g, Color.b, Color.a]
	Factor1  []float64 `json:"factor1,omitempty"`  // [Occlusion, Metallic, Roughness, unused]
	Factor2  []float64 `json:"factor2,omitempty"`  // [Emissive.r, Emissive.g, Emissive.b, unused]
	Texture0 int       `json:"texture0,omitempty"` // BaseColorTexture
	Texture1 int       `json:"texture1,omitempty"` // ParameterTexture(OcclusionMetallicRoughness)
	Texture2 int       `json:"texture2,omitempty"` // NormalTexture

	Count int `json:"count"`
}

type AppGLTFTexture

type AppGLTFTexture struct {
	Embed int `json:"embed,omitempty"`
}

type AppWGSL

type AppWGSL struct {
	Shader []*AppWGSLShader `json:"shader,omitempty"`
}

type AppWGSLShader

type AppWGSLShader struct {
	Embed int `json:"embed,omitempty"`
}

type Middleware

type Middleware struct {
}

func (Middleware) PreBuild

func (p Middleware) PreBuild(bsl *basil.Basil) error

type Source

type Source struct {
	GLTF []*gltf.Document
	JSON map[string]*interface{}
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL