zworld/engine/renderapi/framebuffer/array.go

30 lines
544 B
Go
Raw Normal View History

2024-01-14 22:56:06 +08:00
package framebuffer
import (
"fmt"
"zworld/engine/renderapi/device"
"zworld/engine/renderapi/renderpass"
)
type Array []T
func NewArray(count int, device device.T, name string, width, height int, pass renderpass.T) (Array, error) {
var err error
array := make(Array, count)
for i := range array {
array[i], err = New(device, fmt.Sprintf("%s[%d]", name, i), width, height, pass)
if err != nil {
return nil, err
}
}
return array, nil
}
func (a Array) Destroy() {
for i, fbuf := range a {
fbuf.Destroy()
a[i] = nil
}
}