27 lines
630 B
Go
27 lines
630 B
Go
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,
|
|
}
|
|
})
|
|
}
|