package bonsai-rt:geometry

⌘K
Ctrl+K
or
/

    Index

    Constants (0)

    This section is empty.

    Variables (0)

    This section is empty.

    Procedure Groups (0)

    This section is empty.

    Types

    GPUInstanceInfo ¶

    GPUInstanceInfo :: struct #packed {
    	transform:                 matrix[4, 4]f32,
    	index_buffer_start_index:  u32,
    	index_buffer_length:       u32,
    	vertex_buffer_start_index: u32,
    	vertex_buffer_length:      u32,
    }

    GPULight ¶

    GPULight :: struct #packed {
    	type: u32,
    	arg0: u32,
    	arg1: u32,
    	arg2: u32,
    }

    GPUMaterial ¶

    GPUMaterial :: struct #packed {
    	spoly_color:   [3]f32,
    	material_type: u32,
    	args:          [4]f32,
    }
    Related Procedures With Returns

    GPURenderInfo ¶

    GPURenderInfo :: struct #packed {
    	max_depth: u32,
    	n_lights:  u32,
    }

    GeometryContext ¶

    GeometryContext :: struct {
    	scene:                            scene.Scene,
    	compute_shader_group:             shader_group.ShaderGroupContext,
    	compute_pipeline:                 pipeline.ComputePipelineContext,
    	compute_descriptor_set:           descriptor_set.DescriptorSetContext,
    	blend_shader_group:               shader_group.ShaderGroupContext,
    	blend_pipeline:                   pipeline.ComputePipelineContext,
    	blend_descriptor_set:             descriptor_set.DescriptorSetContext,
    	camera_buffer:                    resource.UniformBufferInfo($T=matrix[4, 4]f32),
    	rnd_seed_buffer:                  resource.UniformBufferInfo($T=u32),
    	frame_number_buffer:              resource.UniformBufferInfo($T=u32),
    	render_info_buffer:               resource.UniformBufferInfo($T=GPURenderInfo),
    	top_level_acceleration_structure: resource.AccelerationStructure,
    	vertex_multiblock_buffer:         resource.MultiBlockBufferInfo($T=[4]f32),
    	index_multiblock_buffer:          resource.MultiBlockBufferInfo($T=u32),
    	geometry_info_buffer:             resource.StorageBufferInfo($T=GPUInstanceInfo),
    	material_buffer:                  resource.StorageBufferInfo($T=GPUMaterial),
    	light_buffer:                     resource.StorageBufferInfo($T=GPULight),
    	xyz_ray_trace_image:              resource.ImageInfo,
    	xyz_blend_image:                  resource.ImageInfo,
    	output_image:                     resource.ImageInfo,
    }
    Related Procedures With Parameters
    Related Procedures With Returns

    Constants

    This section is empty.

    Variables

    This section is empty.

    Procedures

    find_and_build_corresponding_material ¶

    find_and_build_corresponding_material :: proc(s: scene.Scene, material_name: untyped string) -> GPUMaterial {…}

    load_scene ¶

    load_scene :: proc(device_context: ^device.DeviceContext, geometry_context: ^GeometryContext, s: scene.Scene) {…}

    make_geometry ¶

    make_geometry :: proc(device_context: ^device.DeviceContext) -> GeometryContext {…}

    render ¶

    render :: proc(device_context: ^device.DeviceContext, geometry_context: ^GeometryContext) {…}

    save_output_image_to_file ¶

    save_output_image_to_file :: proc(device_context: ^device.DeviceContext, geometry_context: ^GeometryContext, path: untyped string) {…}

    set_camera ¶

    set_camera :: proc(
    	device_context:   ^device.DeviceContext, 
    	geometry_context: ^GeometryContext, 
    	pos:              [3]f32, 
    	dir:              [3]f32, 
    	up:               [3]f32, 
    	size:             f32, 
    ) {…}

    Procedure Groups

    This section is empty.

    Source Files

    Generation Information

    Generated with odin version dev-2025-04 (vendor "odin") Linux_amd64 @ 2025-05-13 09:15:52.883165073 +0000 UTC