30 lines
544 B
Go
30 lines
544 B
Go
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
|
|
}
|
|
}
|