gli

package
v0.0.0-...-eb6d389 Latest Latest
Warning

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

Go to latest
Published: Dec 27, 2016 License: MIT, MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	INVALID_INDEX uint32 = gl.INVALID_INDEX
)

Variables

This section is empty.

Functions

func ActiveTexture

func ActiveTexture(i uint32)

func BindBuffer

func BindBuffer(target BufferTarget, buffer Buffer)

func BindProgram

func BindProgram(program Program)

func BindSampler

func BindSampler(sampler Sampler, textureunit uint32)

func BindTexture

func BindTexture(texture Texture)

func BindVertexArrayObject

func BindVertexArrayObject(vao VertexArrayObject)

func Clear

func Clear(bits ...ClearBit)

func ClearColor

func ClearColor(r, g, b, a float32)

func ClearDepth

func ClearDepth(d float32)

func Disable

func Disable(cap Capability)

func DisableCulling

func DisableCulling()

func DisableDepth

func DisableDepth()

func DisableIndex

func DisableIndex(cap Capability, index uint32)

func Draw

func Draw(program Program, vao VertexArrayObject, object Object)

func Enable

func Enable(cap Capability)

func EnableCulling

func EnableCulling(front bool, back bool, clockwise bool)

func EnableDepth

func EnableDepth(depthfunc DepthFunc, mask bool, nearRange float32, farRange float32)

func EnableIndex

func EnableIndex(cap Capability, index uint32)

func FrustumScale

func FrustumScale(fovdeg float64) float64

func GetError

func GetError() error

func Init

func Init()

func IsEnabled

func IsEnabled(cap Capability) bool

func IsEnabledIndex

func IsEnabledIndex(cap Capability, index uint32) bool

func PerspectiveMatrix

func PerspectiveMatrix(near, far, frustumScale float64, w, h int) (mat [16]float32)

func SafeDelete

func SafeDelete(deleters ...Deleter)

func UnbindBuffer

func UnbindBuffer(target BufferTarget)

func UnbindProgram

func UnbindProgram()

func UnbindSampler

func UnbindSampler(textureunit uint32)

func UnbindVertexArrayObject

func UnbindVertexArrayObject()

func Viewport

func Viewport(x, y int32, width, height int32)

Types

type AttributeCollection

type AttributeCollection struct {
	// contains filtered or unexported fields
}

func (AttributeCollection) ByIndex

func (coll AttributeCollection) ByIndex(index uint32) ProgramAttribute

func (AttributeCollection) ByName

func (coll AttributeCollection) ByName(name string) ProgramAttribute

func (AttributeCollection) List

func (coll AttributeCollection) List() []ProgramAttribute

type Bool

type Bool uint32
const (
	TRUE  Bool = gl.TRUE
	FALSE Bool = gl.FALSE
)

type Buffer

type Buffer interface {
	Id() uint32
	Delete()
	Allocate(size int) Buffer
	DataSlice(iface interface{}) Buffer
	SubSlice(iface interface{}, offset int) Buffer
	Hints() (BufferAccessTypeHint, BufferTarget)
}

func CreateBuffer

func CreateBuffer(accesshint BufferAccessTypeHint, targethint BufferTarget) Buffer

type BufferTarget

type BufferTarget uint32
const (
	ArrayBuffer             BufferTarget = gl.ARRAY_BUFFER
	AtomicCounterBuffer     BufferTarget = gl.ATOMIC_COUNTER_BUFFER
	CopyReadBuffer          BufferTarget = gl.COPY_READ_BUFFER
	CopyWriteBuffer         BufferTarget = gl.COPY_WRITE_BUFFER
	DrawIndirectBuffer      BufferTarget = gl.DRAW_INDIRECT_BUFFER
	DispatchIndirectBuffer  BufferTarget = gl.DISPATCH_INDIRECT_BUFFER
	ElementArrayBuffer      BufferTarget = gl.ELEMENT_ARRAY_BUFFER
	PixelPackBuffer         BufferTarget = gl.PIXEL_PACK_BUFFER
	PixelUnpackBuffer       BufferTarget = gl.PIXEL_UNPACK_BUFFER
	QueryBuffer             BufferTarget = gl.QUERY_BUFFER
	ShaderStorageBuffer     BufferTarget = gl.SHADER_STORAGE_BUFFER
	TextureBuffer           BufferTarget = gl.TEXTURE_BUFFER
	TransformFeedbackBuffer BufferTarget = gl.TRANSFORM_FEEDBACK_BUFFER
	UniformBuffer           BufferTarget = gl.UNIFORM_BUFFER
)

type Capability

type Capability uint32
const (
	Blend                      Capability = gl.BLEND
	ClipDistance0              Capability = gl.CLIP_DISTANCE0
	ClipDistance1              Capability = gl.CLIP_DISTANCE1
	ClipDistance2              Capability = gl.CLIP_DISTANCE2
	ClipDistance3              Capability = gl.CLIP_DISTANCE3
	ClipDistance4              Capability = gl.CLIP_DISTANCE4
	ClipDistance5              Capability = gl.CLIP_DISTANCE5
	ClipDistance6              Capability = gl.CLIP_DISTANCE6
	ClipDistance7              Capability = gl.CLIP_DISTANCE7
	ColorLogicOp               Capability = gl.COLOR_LOGIC_OP
	CullFace                   Capability = gl.CULL_FACE
	DebugOutput                Capability = gl.DEBUG_OUTPUT
	DebugOutputSynchronous     Capability = gl.DEBUG_OUTPUT_SYNCHRONOUS
	DepthClamp                 Capability = gl.DEPTH_CLAMP
	DepthTest                  Capability = gl.DEPTH_TEST
	Dither                     Capability = gl.DITHER
	FramebufferSRGB            Capability = gl.FRAMEBUFFER_SRGB
	LineSmooth                 Capability = gl.LINE_SMOOTH
	MultiSample                Capability = gl.MULTISAMPLE
	PolygonOffsetFill          Capability = gl.POLYGON_OFFSET_FILL
	PolygonOffsetLine          Capability = gl.POLYGON_OFFSET_LINE
	PolygonOffsetPoint         Capability = gl.POLYGON_OFFSET_POINT
	PolygonSmooth              Capability = gl.POLYGON_SMOOTH
	PrimitiveRestart           Capability = gl.PRIMITIVE_RESTART
	PrimitiveRestartFixedIndex Capability = gl.PRIMITIVE_RESTART_FIXED_INDEX
	RasterizerDiscard          Capability = gl.RASTERIZER_DISCARD
	SampleAlphaToCoverage      Capability = gl.SAMPLE_ALPHA_TO_COVERAGE
	SampleAlphaToOne           Capability = gl.SAMPLE_ALPHA_TO_ONE
	SampleCoverage             Capability = gl.SAMPLE_COVERAGE
	// SampleShading              Capability = gl.SAMPLE_SHADING
	SampleMask             Capability = gl.SAMPLE_MASK
	ScissorTest            Capability = gl.SCISSOR_TEST
	StencilTest            Capability = gl.STENCIL_TEST
	TextureCubeMapSeamless Capability = gl.TEXTURE_CUBE_MAP_SEAMLESS
	ProgramPointSize       Capability = gl.PROGRAM_POINT_SIZE
)

type ClearBit

type ClearBit uint32
const (
	ColorBufferBit   ClearBit = gl.COLOR_BUFFER_BIT
	DepthBufferBit   ClearBit = gl.DEPTH_BUFFER_BIT
	StencilBufferBit ClearBit = gl.STENCIL_BUFFER_BIT
)

type Context

type Context interface {
	CreateShader(shaderType ShaderType, source ...string) (Shader, error)
	CreateProgram(shaders ...Shader) (Program, error)
	CreateVertexArrayObject() VertexArrayObject
	CreateBuffer(accesshint BufferAccessTypeHint, targethint BufferTarget) Buffer
	CreateTexture(target TextureTarget) Texture
	CreateSampler() Sampler
	BindProgram(program Program)
	UnbindProgram()
	BindVertexArrayObject(vao VertexArrayObject)
	UnbindVertexArrayObject()
	BindBuffer(target BufferTarget, buffer Buffer)
	UnbindBuffer(target BufferTarget)
	BindTexture(texture Texture)
	BindSampler(sampler Sampler, textureunit uint32)
	UnbindSampler(textureunit uint32)
	ActiveTexture(i uint32)
	Draw(program Program, vao VertexArrayObject, object Object)
	ClearColor(r, g, b, a float32)
	ClearDepth(d float32)
	Clear(bits ...ClearBit)
	Enable(cap Capability)
	Disable(cap Capability)
	EnableIndex(cap Capability, index uint32)
	DisableIndex(cap Capability, index uint32)
	IsEnabled(cap Capability) bool
	IsEnabledIndex(cap Capability, index uint32) bool
	EnableCulling(frontface bool, backface bool, clockwise bool)
	DisableCulling()
	EnableDepth(depthfunc DepthFunc, mask bool, nearRange float32, farRange float32)
	DisableDepth()
	Viewport(x, y int32, width, height int32)
}
var Current Context = CreateContext()

func CreateContext

func CreateContext() Context

type DataType

type DataType uint32
const (
	GlBool                 DataType = gl.BOOL
	GlByte                 DataType = gl.BYTE
	GlUByte                DataType = gl.UNSIGNED_BYTE
	GlShort                DataType = gl.SHORT
	GlUShort               DataType = gl.UNSIGNED_SHORT
	GlInt                  DataType = gl.INT
	GlUInt                 DataType = gl.UNSIGNED_INT
	GlFloat                DataType = gl.FLOAT
	GlHalfFloat            DataType = gl.HALF_FLOAT
	GlFixed                DataType = gl.FIXED
	GlInt_2_10_10_10_REV   DataType = gl.INT_2_10_10_10_REV
	GlUInt_2_10_10_10_REV  DataType = gl.UNSIGNED_INT_2_10_10_10_REV
	GlUInt_10F_11F_11F_REV DataType = gl.UNSIGNED_INT_10F_11F_11F_REV
	GlDouble               DataType = gl.DOUBLE

	GlBoolV2   DataType = gl.BOOL_VEC2
	GlBoolV3   DataType = gl.BOOL_VEC3
	GlBoolV4   DataType = gl.BOOL_VEC4
	GlIntV2    DataType = gl.INT_VEC2
	GlIntV3    DataType = gl.INT_VEC3
	GlIntV4    DataType = gl.INT_VEC4
	GlUIntV2   DataType = gl.UNSIGNED_INT_VEC2
	GlUIntV3   DataType = gl.UNSIGNED_INT_VEC3
	GlUIntV4   DataType = gl.UNSIGNED_INT_VEC4
	GlFloatV2  DataType = gl.FLOAT_VEC2
	GlFloatV3  DataType = gl.FLOAT_VEC3
	GlFloatV4  DataType = gl.FLOAT_VEC4
	GlDoubleV2 DataType = gl.DOUBLE_VEC2
	GlDoubleV3 DataType = gl.DOUBLE_VEC3
	GlDoubleV4 DataType = gl.DOUBLE_VEC4

	GlFloatMat2    DataType = gl.FLOAT_MAT2
	GlFloatMat2x3  DataType = gl.FLOAT_MAT2x3
	GlFloatMat2x4  DataType = gl.FLOAT_MAT2x4
	GlFloatMat3x2  DataType = gl.FLOAT_MAT3x2
	GlFloatMat3    DataType = gl.FLOAT_MAT3
	GlFloatMat3x4  DataType = gl.FLOAT_MAT3x4
	GlFloatMat4x2  DataType = gl.FLOAT_MAT4x2
	GlFloatMat4x3  DataType = gl.FLOAT_MAT4x3
	GlFloatMat4    DataType = gl.FLOAT_MAT4
	GlDoubleMat2   DataType = gl.DOUBLE_MAT2
	GlDoubleMat2x3 DataType = gl.DOUBLE_MAT2x3
	GlDoubleMat2x4 DataType = gl.DOUBLE_MAT2x4
	GlDoubleMat3x2 DataType = gl.DOUBLE_MAT3x2
	GlDoubleMat3   DataType = gl.DOUBLE_MAT3
	GlDoubleMat3x4 DataType = gl.DOUBLE_MAT3x4
	GlDoubleMat4x2 DataType = gl.DOUBLE_MAT4x2
	GlDoubleMat4x3 DataType = gl.DOUBLE_MAT4x3
	GlDoubleMat4   DataType = gl.DOUBLE_MAT4

	GlSampler1dShadow      DataType = gl.SAMPLER_1D_SHADOW
	GlSampler2dShadow      DataType = gl.SAMPLER_2D_SHADOW
	GlSampler1dArrayShadow DataType = gl.SAMPLER_1D_ARRAY_SHADOW
	GlSampler2dArrayShadow DataType = gl.SAMPLER_2D_ARRAY_SHADOW
	GlSampler2dRectShadow  DataType = gl.SAMPLER_2D_RECT_SHADOW
	GlSamplerCubeShadow    DataType = gl.SAMPLER_CUBE_SHADOW

	GlSampler1d                 DataType = gl.SAMPLER_1D
	GlSampler2d                 DataType = gl.SAMPLER_2D
	GlSampler3d                 DataType = gl.SAMPLER_3D
	GlSamplerCube               DataType = gl.SAMPLER_CUBE
	GlSampler1dArray            DataType = gl.SAMPLER_1D_ARRAY
	GlSampler2dArray            DataType = gl.SAMPLER_2D_ARRAY
	GlSampler2dMultisample      DataType = gl.SAMPLER_2D_MULTISAMPLE
	GlSampler2dMultisampleArray DataType = gl.SAMPLER_2D_MULTISAMPLE_ARRAY
	GlSampler2dRect             DataType = gl.SAMPLER_2D_RECT

	GlIntSampler1d                 DataType = gl.INT_SAMPLER_1D
	GlIntSampler2d                 DataType = gl.INT_SAMPLER_2D
	GlIntSampler3d                 DataType = gl.INT_SAMPLER_3D
	GlIntSamplerCube               DataType = gl.INT_SAMPLER_CUBE
	GlIntSampler1dArray            DataType = gl.INT_SAMPLER_1D_ARRAY
	GlIntSampler2dArray            DataType = gl.INT_SAMPLER_2D_ARRAY
	GlIntSampler2dMultisample      DataType = gl.INT_SAMPLER_2D_MULTISAMPLE
	GlIntSampler2dMultisampleArray DataType = gl.INT_SAMPLER_2D_MULTISAMPLE_ARRAY
	GlIntSampler2dRect             DataType = gl.INT_SAMPLER_2D_RECT

	GlUintSampler1d                 DataType = gl.UNSIGNED_INT_SAMPLER_1D
	GlUintSampler2d                 DataType = gl.UNSIGNED_INT_SAMPLER_2D
	GlUintSampler3d                 DataType = gl.UNSIGNED_INT_SAMPLER_3D
	GlUintSamplerCube               DataType = gl.UNSIGNED_INT_SAMPLER_CUBE
	GlUintSampler1dArray            DataType = gl.UNSIGNED_INT_SAMPLER_1D_ARRAY
	GlUintSampler2dArray            DataType = gl.UNSIGNED_INT_SAMPLER_2D_ARRAY
	GlUintSampler2dMultisample      DataType = gl.UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE
	GlUintSampler2dMultisampleArray DataType = gl.UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY
	GlUintSampler2dRect             DataType = gl.UNSIGNED_INT_SAMPLER_2D_RECT
)

type Deleter

type Deleter interface {
	Delete()
}

type DepthFunc

type DepthFunc uint32
const (
	DepthNever        DepthFunc = gl.NEVER
	DepthLess         DepthFunc = gl.LESS
	DepthLessEqual    DepthFunc = gl.LEQUAL
	DepthEqual        DepthFunc = gl.EQUAL
	DepthGreaterEqual DepthFunc = gl.GEQUAL
	DepthGreater      DepthFunc = gl.GREATER
	DepthAlways       DepthFunc = gl.ALWAYS
)

type DrawMode

type DrawMode uint32
const (
	Points                 DrawMode = gl.POINTS
	LineStrip              DrawMode = gl.LINE_STRIP
	LineLoop               DrawMode = gl.LINE_LOOP
	Lines                  DrawMode = gl.LINES
	LineStripAdjacency     DrawMode = gl.LINE_STRIP_ADJACENCY
	LinesAdjacency         DrawMode = gl.LINES_ADJACENCY
	TriangleStrip          DrawMode = gl.TRIANGLE_STRIP
	TriangleFan            DrawMode = gl.TRIANGLE_FAN
	Triangles              DrawMode = gl.TRIANGLES
	TriangleStripAdjacency DrawMode = gl.TRIANGLE_STRIP_ADJACENCY
	TrianglesAdjacency     DrawMode = gl.TRIANGLES_ADJACENCY
	Patches                DrawMode = gl.PATCHES
)

type ElementInstance

type ElementInstance struct {
	Vao   VertexArrayObject
	First int
	Count int
	Type  DataType
}

type Extent

type Extent struct {
	Start      int
	Stride     int
	Type       DataType
	Components int
	Normalize  bool
}

type GlError

type GlError struct {
	Id   uint32
	Desc string
	More *GlError
}

func (*GlError) Error

func (gle *GlError) Error() string

type IndexedCapability

type IndexedCapability uint32
const (
	IndexedBlend       IndexedCapability = gl.BLEND
	IndexedScissorTest IndexedCapability = gl.SCISSOR_TEST
)

type Object

type Object struct {
	Mode      DrawMode
	Start     int
	Vertices  int
	IndexType DataType
	IndexBase int
}

type Program

type Program interface {
	Id() uint32
	Delete()
	GetIV(param ProgramParameter) int32
	GetActiveUniformIV(param UniformParameter, index uint32) int32
	Attributes() AttributeCollection
	Uniforms() UniformCollection
}

func CreateProgram

func CreateProgram(shaders ...Shader) (Program, error)

type ProgramAttribute

type ProgramAttribute struct {
	Program Program
	Name    string
	Index   uint32
	Type    DataType
	Size    uint32
}

func (ProgramAttribute) Valid

func (attr ProgramAttribute) Valid() bool

type ProgramParameter

type ProgramParameter uint32
const (
	PROGRAM_DELETE_STATUS                ProgramParameter = gl.DELETE_STATUS
	LINK_STATUS                          ProgramParameter = gl.LINK_STATUS
	VALIDATE_STATUS                      ProgramParameter = gl.VALIDATE_STATUS
	PROGRAM_INFO_LOG_LENGTH              ProgramParameter = gl.INFO_LOG_LENGTH
	ATTACHED_SHADERS                     ProgramParameter = gl.ATTACHED_SHADERS
	ACTIVE_ATTRIBUTES                    ProgramParameter = gl.ACTIVE_ATTRIBUTES
	ACTIVE_ATTRIBUTE_MAX_LENGTH          ProgramParameter = gl.ACTIVE_ATTRIBUTE_MAX_LENGTH
	ACTIVE_UNIFORMS                      ProgramParameter = gl.ACTIVE_UNIFORMS
	ACTIVE_UNIFORM_MAX_LENGTH            ProgramParameter = gl.ACTIVE_UNIFORM_MAX_LENGTH
	ACTIVE_UNIFORM_BLOCKS                ProgramParameter = gl.ACTIVE_UNIFORM_BLOCKS
	ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH ProgramParameter = gl.ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH
)

type Sampler

type Sampler interface {
	Id() uint32
	Delete()
	SetWrap(s, t, r SamplerWrapMode)
	SetFilter(min SamplerMinFilter, mag SamplerMagFilter)
	SetBorderColor(r, g, b, a float32)
	SetCompare(mode SamplerCompareMode, function DepthFunc)
	SetLod(min, max int32)
}

func CreateSampler

func CreateSampler() Sampler

type SamplerCompareMode

type SamplerCompareMode uint32
const (
	CompareRefToTexture SamplerCompareMode = gl.COMPARE_REF_TO_TEXTURE
	CompareNone         SamplerCompareMode = gl.NONE
)

type SamplerMagFilter

type SamplerMagFilter uint32
const (
	MagNearest SamplerMagFilter = gl.NEAREST
	MagLinear  SamplerMagFilter = gl.LINEAR
)

type SamplerMinFilter

type SamplerMinFilter uint32
const (
	MinNearest              SamplerMinFilter = gl.NEAREST
	MinLinear               SamplerMinFilter = gl.LINEAR
	MinNearestMipmapNearest SamplerMinFilter = gl.NEAREST_MIPMAP_NEAREST
	MinLinearMipmapNearest  SamplerMinFilter = gl.LINEAR_MIPMAP_NEAREST
	MinNearestMipmapLinear  SamplerMinFilter = gl.NEAREST_MIPMAP_LINEAR
	MinLinearMipmapLinear   SamplerMinFilter = gl.LINEAR_MIPMAP_LINEAR
)

type SamplerWrapMode

type SamplerWrapMode uint32

type Shader

type Shader interface {
	Id() uint32
	Delete()
	GetIV(param ShaderParameter) int32
}

func CreateShader

func CreateShader(shaderType ShaderType, source ...string) (Shader, error)

type ShaderError

type ShaderError struct {
	Desc string
}

func (*ShaderError) Error

func (se *ShaderError) Error() string

type ShaderParameter

type ShaderParameter uint32
const (
	SHADER_TYPE          ShaderParameter = gl.SHADER_TYPE
	SHADER_DELETE_STATUS ShaderParameter = gl.DELETE_STATUS
	COMPILE_STATUS       ShaderParameter = gl.COMPILE_STATUS
	INFO_LOG_LENGTH      ShaderParameter = gl.INFO_LOG_LENGTH
	SHADER_SOURCE_LENGTH ShaderParameter = gl.SHADER_SOURCE_LENGTH
)

type ShaderType

type ShaderType uint32
const (
	VertexShader         ShaderType = gl.VERTEX_SHADER
	GeometryShader       ShaderType = gl.GEOMETRY_SHADER
	FragmentShader       ShaderType = gl.FRAGMENT_SHADER
	ComputeShader        ShaderType = gl.COMPUTE_SHADER
	TessControlShader    ShaderType = gl.TESS_CONTROL_SHADER
	TessEvaluationShader ShaderType = gl.TESS_EVALUATION_SHADER
)

type Texture

type Texture interface {
	Id() uint32
	Delete()
	Target() TextureTarget
	Data(data TextureData)
}

func CreateTexture

func CreateTexture(target TextureTarget) Texture

type TextureData

type TextureData struct {
	Width          uint32
	Height         uint32
	InternalFormat uint32
	ExternalFormat uint32
	Type           DataType
	Ptr            unsafe.Pointer
}

func TextureFromBytes

func TextureFromBytes(slice []byte, width int, height int) TextureData

func TextureFromFile

func TextureFromFile(path string) (TextureData, error)

func TextureFromImage

func TextureFromImage(img image.Image) TextureData

type TextureTarget

type TextureTarget uint32
const (
	Texture1d                 TextureTarget = gl.TEXTURE_1D
	Texture2d                 TextureTarget = gl.TEXTURE_2D
	Texture3d                 TextureTarget = gl.TEXTURE_3D
	Texture1dArray            TextureTarget = gl.TEXTURE_1D_ARRAY
	Texture2dArray            TextureTarget = gl.TEXTURE_2D_ARRAY
	TextureRectangle          TextureTarget = gl.TEXTURE_RECTANGLE
	TextureCubeMap            TextureTarget = gl.TEXTURE_CUBE_MAP
	TextureCubeMapArray       TextureTarget = gl.TEXTURE_CUBE_MAP_ARRAY
	Texture2dMultisample      TextureTarget = gl.TEXTURE_2D_MULTISAMPLE
	Texture2dMultisampleArray TextureTarget = gl.TEXTURE_2D_MULTISAMPLE_ARRAY
	TextureBufferTarget       TextureTarget = gl.TEXTURE_BUFFER
)

type Uniform

type Uniform struct {
	Program Program
	Name    string
	Index   uint32
	Type    DataType
	Size    uint32
}

func (Uniform) Float

func (uni Uniform) Float(v ...float32)

func (Uniform) Int

func (uni Uniform) Int(v ...int32)

func (Uniform) Sampler

func (uni Uniform) Sampler(v int32)

func (Uniform) Uint

func (uni Uniform) Uint(v ...uint32)

func (Uniform) Valid

func (uni Uniform) Valid() bool

type UniformBlock

type UniformBlock struct {
	Program  Program
	Name     string
	Index    uint32
	Uniforms []UniformBlockMember
	Size     uint32
}

func (UniformBlock) Valid

func (b UniformBlock) Valid() bool

type UniformBlockMember

type UniformBlockMember struct {
	Program  Program
	Name     string
	Type     DataType
	Size     uint32
	Block    uint32
	Offset   uint32
	AStride  uint32
	MStride  uint32
	RowMajor bool
}

type UniformCollection

type UniformCollection interface {
	List() []Uniform
	ByIndex(index uint32) Uniform
	ByName(name string) Uniform
	Block(name string) UniformBlock
}

type UniformParameter

type UniformParameter uint32
const (
	UNIFORM_TYPE                        UniformParameter = gl.UNIFORM_TYPE
	UNIFORM_SIZE                        UniformParameter = gl.UNIFORM_SIZE
	UNIFORM_NAME_LENGTH                 UniformParameter = gl.UNIFORM_NAME_LENGTH
	UNIFORM_BLOCK_INDEX                 UniformParameter = gl.UNIFORM_BLOCK_INDEX
	UNIFORM_OFFSET                      UniformParameter = gl.UNIFORM_OFFSET
	UNIFORM_ARRAY_STRIDE                UniformParameter = gl.UNIFORM_ARRAY_STRIDE
	UNIFORM_MATRIX_STRIDE               UniformParameter = gl.UNIFORM_MATRIX_STRIDE
	UNIFORM_IS_ROW_MAJOR                UniformParameter = gl.UNIFORM_IS_ROW_MAJOR
	UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX UniformParameter = gl.UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX
)

type VertexArrayObject

type VertexArrayObject interface {
	Id() uint32
	Delete()
	Enable(attr ProgramAttribute, buffer Buffer, extent Extent)
	Disable(attr ProgramAttribute)
	Elements(buffer Buffer)
}

func CreateVertexArrayObject

func CreateVertexArrayObject() VertexArrayObject

Jump to

Keyboard shortcuts

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