metal

package
v2.1.0-alpha.3 Latest Latest
Warning

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

Go to latest
Published: Nov 10, 2020 License: Apache-2.0 Imports: 13 Imported by: 0

README

These packages are copied from Dmitri Shuralyov's mtl packages and edited with Dmitri's permission:

  • github.com/hajimehoshi/ebiten/v2/internal/graphicsdriver/metal/ca (copied from dmitri.shuralyov.com/gpu/mtl/example/movingtriangle/internal/ca)
  • github.com/hajimehoshi/ebiten/v2/internal/graphicsdriver/metal/mtl (copied from dmitri.shuralyov.com/gpu/mtl)
  • github.com/hajimehoshi/ebiten/v2/internal/graphicsdriver/metal/ns (copied from dmitri.shuralyov.com/gpu/mtl/example/movingtriangle/internal/ns)

Documentation

Rendered for darwin/amd64

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Graphics

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

func Get

func Get() *Graphics

func (*Graphics) Begin

func (g *Graphics) Begin()

func (*Graphics) Draw

func (g *Graphics) Draw(dstID, srcID driver.ImageID, indexLen int, indexOffset int, mode driver.CompositeMode, colorM *affine.ColorM, filter driver.Filter, address driver.Address, dstRegion, srcRegion driver.Region) error

func (*Graphics) DrawShader

func (g *Graphics) DrawShader(dstID driver.ImageID, srcIDs [graphics.ShaderImageNum]driver.ImageID, offsets [graphics.ShaderImageNum - 1][2]float32, shader driver.ShaderID, indexLen int, indexOffset int, dstRegion, srcRegion driver.Region, mode driver.CompositeMode, uniforms []interface{}) error

func (*Graphics) End

func (g *Graphics) End()

func (*Graphics) FramebufferYDirection

func (g *Graphics) FramebufferYDirection() driver.YDirection

func (*Graphics) HasHighPrecisionFloat

func (g *Graphics) HasHighPrecisionFloat() bool

func (*Graphics) InvalidImageID

func (g *Graphics) InvalidImageID() driver.ImageID

func (*Graphics) IsGL

func (g *Graphics) IsGL() bool

func (*Graphics) MaxImageSize

func (g *Graphics) MaxImageSize() int

func (*Graphics) NeedsRestoring

func (g *Graphics) NeedsRestoring() bool

func (*Graphics) NewImage

func (g *Graphics) NewImage(width, height int) (driver.Image, error)

func (*Graphics) NewScreenFramebufferImage

func (g *Graphics) NewScreenFramebufferImage(width, height int) (driver.Image, error)

func (*Graphics) NewShader

func (g *Graphics) NewShader(program *shaderir.Program) (driver.Shader, error)

func (*Graphics) Reset

func (g *Graphics) Reset() error

func (*Graphics) SetTransparent

func (g *Graphics) SetTransparent(transparent bool)

func (*Graphics) SetUIView

func (g *Graphics) SetUIView(uiview uintptr)

func (*Graphics) SetVertices

func (g *Graphics) SetVertices(vertices []float32, indices []uint16)

func (*Graphics) SetVsyncEnabled

func (g *Graphics) SetVsyncEnabled(enabled bool)

func (*Graphics) SetWindow

func (g *Graphics) SetWindow(window uintptr)

type Image

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

func (*Image) Dispose

func (i *Image) Dispose()

func (*Image) ID

func (i *Image) ID() driver.ImageID

func (*Image) IsInvalidated

func (i *Image) IsInvalidated() bool

func (*Image) Pixels

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

func (*Image) ReplacePixels

func (i *Image) ReplacePixels(args []*driver.ReplacePixelsArgs)

func (*Image) Sync

func (i *Image) Sync() <-chan struct{}

type Shader

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

func (*Shader) Dispose

func (s *Shader) Dispose()

func (*Shader) ID

func (s *Shader) ID() driver.ShaderID

func (*Shader) RenderPipelineState

func (s *Shader) RenderPipelineState(device mtl.Device, c driver.CompositeMode) (mtl.RenderPipelineState, error)

Directories

Path Synopsis
Package ca provides access to Apple's Core Animation API (https://developer.apple.com/documentation/quartzcore).
Package ca provides access to Apple's Core Animation API (https://developer.apple.com/documentation/quartzcore).
Package mtl provides access to Apple's Metal API (https://developer.apple.com/documentation/metal).
Package mtl provides access to Apple's Metal API (https://developer.apple.com/documentation/metal).
Package ns provides access to Apple's AppKit API (https://developer.apple.com/documentation/appkit).
Package ns provides access to Apple's AppKit API (https://developer.apple.com/documentation/appkit).

Jump to

Keyboard shortcuts

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