Sha256: a52e6317c3baf2112533063de4c3a83bb75344de12e354be374ba9dc7aa43669
Contents?: true
Size: 1.11 KB
Versions: 2
Compression:
Stored size: 1.11 KB
Contents
module Mittsu class PointCloud def render_buffer(camera, lights, fog, material, geometry_group, update_buffers) GL.DrawArrays(GL::POINTS, 0, geometry_group.particle_count) @renderer.info[:render][:calls] += 1 @renderer.info[:render][:points] += geometry_group.particle_count end def update material = buffer_material(geometry) custom_attributes_dirty = material.attributes && material.custom_attributes_dirty? if geometry.vertices_need_update || geometry.colors_need_update || custom_attributes_dirty geometry.set_particle_buffers(GL::DYNAMIC_DRAW) end geometry.vertices_need_update = false geometry.colors_need_update = false material.attributes && material.clear_custom_attributes end def init_geometry geometry.renderer = @renderer if geometry.vertex_buffer.nil? geometry.create_particle_buffers geometry.init_particle_buffers(self) geometry.vertices_need_update = true geometry.colors_need_update = true end end def add_opengl_object @renderer.add_opengl_object(geometry, self) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mittsu-opengl-0.5.1 | lib/mittsu/opengl_implementation/objects/point_cloud.rb |
mittsu-opengl-0.5.0 | lib/mittsu/opengl_implementation/objects/point_cloud.rb |