def create(self):
        self.target = self.create_target("FlagUsedCells")
        self.target.prepare_buffer()

        self.cell_grid_flags = Image.create_2d_array(
            "CellGridFlags", 0, 0,
            self._pipeline.settings["lighting.culling_grid_slices"], "R8")
        self.target.set_shader_input("cellGridFlags", self.cell_grid_flags)
    def create(self):
        self.target = self.create_target("FlagUsedCells")
        self.target.prepare_buffer()

        self.cell_grid_flags = Image.create_2d_array(
            "CellGridFlags", 0, 0,
            self._pipeline.settings["lighting.culling_grid_slices"], "R8")
        self.target.set_shader_input("cellGridFlags", self.cell_grid_flags)
예제 #3
0
    def create(self):
        self.target = self.create_target("CollectUsedCells")
        self.target.size = 0, 0
        self.target.prepare_buffer()

        self.cell_list_buffer = Image.create_buffer("CellList", 0, "R32I")
        self.cell_index_buffer = Image.create_2d_array("CellIndices", 0, 0, 0, "R32I")

        self.target.set_shader_inputs(
            CellListBuffer=self.cell_list_buffer,
            CellListIndices=self.cell_index_buffer)
    def create(self):
        self.target = self.create_target("FlagUsedCells")
        self.target.prepare_buffer()

        tile_amount = self._pipeline.light_mgr.num_tiles

        self.cell_grid_flags = Image.create_2d_array(
            "CellGridFlags", tile_amount.x, tile_amount.y,
            self._pipeline.settings["lighting.culling_grid_slices"], "R8")
        self.cell_grid_flags.set_clear_color(0)

        self.target.set_shader_input("cellGridFlags", self.cell_grid_flags)
    def create(self):
        self.target = self.create_target("FlagUsedCells")
        self.target.prepare_buffer()

        tile_amount = self._pipeline.light_mgr.num_tiles

        self.cell_grid_flags = Image.create_2d_array(
            "CellGridFlags", tile_amount.x, tile_amount.y,
            self._pipeline.settings["lighting.culling_grid_slices"], "R8")
        self.cell_grid_flags.set_clear_color(0)

        self.target.set_shader_input("cellGridFlags", self.cell_grid_flags)
    def create(self):
        tile_amount = self._pipeline.light_mgr.num_tiles

        self.target = self.create_target("CollectUsedCells")
        self.target.size = tile_amount.x, tile_amount.y
        self.target.prepare_buffer()

        num_slices = self._pipeline.settings["lighting.culling_grid_slices"]
        max_cells = tile_amount.x * tile_amount.y * num_slices

        self.debug("Allocating", max_cells, "cells")
        self._cell_list_buffer = Image.create_buffer("CellList", 1 + max_cells, "R32I")
        self._cell_list_buffer.set_clear_color(0)
        self._cell_index_buffer = Image.create_2d_array(
            "CellIndices", tile_amount.x, tile_amount.y, num_slices, "R32I")
        self._cell_index_buffer.set_clear_color(0)

        self.target.set_shader_input("CellListBuffer", self._cell_list_buffer)
        self.target.set_shader_input("CellListIndices", self._cell_index_buffer)
    def create(self):
        tile_amount = self._pipeline.light_mgr.num_tiles

        self.target = self.create_target("CollectUsedCells")
        self.target.size = tile_amount.x, tile_amount.y
        self.target.prepare_buffer()

        num_slices = self._pipeline.settings["lighting.culling_grid_slices"]
        max_cells = tile_amount.x * tile_amount.y * num_slices

        self.debug("Allocating", max_cells, "cells")
        self._cell_list_buffer = Image.create_buffer("CellList", 1 + max_cells,
                                                     "R32I")
        self._cell_list_buffer.set_clear_color(0)
        self._cell_index_buffer = Image.create_2d_array(
            "CellIndices", tile_amount.x, tile_amount.y, num_slices, "R32I")
        self._cell_index_buffer.set_clear_color(0)

        self.target.set_shader_input("CellListBuffer", self._cell_list_buffer)
        self.target.set_shader_input("CellListIndices",
                                     self._cell_index_buffer)