graphicscommand

package
v1.12.12 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2021 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package graphicscommand represents a low layer for graphics using OpenGL.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FlushCommands

func FlushCommands() error

FlushCommands flushes the command queue.

func NeedsRestoring added in v1.10.0

func NeedsRestoring() bool

func ResetGraphicsDriverState

func ResetGraphicsDriverState() error

ResetGraphicsDriverState resets or initializes the current graphics driver state.

func SetGraphicsDriver added in v1.10.0

func SetGraphicsDriver(driver driver.Graphics)

Types

type Image

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

Image represents an image that is implemented with OpenGL.

func NewImage

func NewImage(width, height int) *Image

NewImage returns a new image.

Note that the image is not initialized yet.

func NewScreenFramebufferImage

func NewScreenFramebufferImage(width, height int) *Image

func (*Image) Dispose

func (i *Image) Dispose()

func (*Image) DrawTriangles added in v1.10.0

func (i *Image) DrawTriangles(srcs [graphics.ShaderImageNum]*Image, offsets [graphics.ShaderImageNum - 1][2]float32, vertices []float32, indices []uint16, clr *affine.ColorM, mode driver.CompositeMode, filter driver.Filter, address driver.Address, sourceRegion driver.Region, shader *Shader, uniforms []interface{})

DrawTriangles draws triangles with the given image.

The vertex floats are:

0: Destination X in pixels
1: Destination Y in pixels
2: Source X in pixels (not texels!)
3: Source Y in pixels
4: Color R [0.0-1.0]
5: Color G
6: Color B
7: Color Y

src and shader are exclusive and only either is non-nil.

The elements that index is in between 2 and 7 are used for the source images. The source image is 1) src argument if non-nil, or 2) an image value in the uniform variables if it exists. If there are multiple images in the uniform variables, the smallest ID's value is adopted.

If the source image is not specified, i.e., src is nil and there is no image in the uniform variables, the elements for the source image are not used.

func (*Image) Dump added in v1.10.0

func (i *Image) Dump(path string, blackbg bool) error

Dump dumps the image to the specified path. In the path, '*' is replaced with the image's ID.

If blackbg is true, any alpha values in the dumped image will be 255.

This is for testing usage.

func (*Image) InternalSize added in v1.10.0

func (i *Image) InternalSize() (int, int)

func (*Image) IsInvalidated

func (i *Image) IsInvalidated() bool

func (*Image) Pixels

func (i *Image) Pixels() ([]byte, error)

Pixels returns the image's pixels. Pixels might return nil when OpenGL error happens.

func (*Image) ReplacePixels

func (i *Image) ReplacePixels(pixels []byte, x, y, width, height int)

type Shader added in v1.12.0

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

func NewShader added in v1.12.0

func NewShader(ir *shaderir.Program) *Shader

func (*Shader) Dispose added in v1.12.0

func (s *Shader) Dispose()

Jump to

Keyboard shortcuts

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