zworld/test/tgraph/renderer.go

27 lines
630 B
Go
Raw Normal View History

2024-01-20 18:44:07 +08:00
package tgraph
import (
"zworld/engine/render/graph"
"zworld/engine/render/pass"
"zworld/engine/renderapi/vulkan"
)
func Renderer(app vulkan.App, target vulkan.Target) graph.T {
return graph.New(app, target, func(g graph.T, output vulkan.Target) []graph.Resource {
size := output.Size()
// allocate main depth buffer
depth := vulkan.NewDepthTarget(app.Device(), "main-depth", size)
// create geometry buffer
gbuffer, err := pass.NewGbuffer(app.Device(), size)
if err != nil {
panic(err)
}
// depth pre-pass
g.Node(NewPass(app, depth, gbuffer))
return []graph.Resource{
depth,
gbuffer,
}
})
}