roglew 0.2.7 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +39 -37
- data/lib/roglew.rb +31 -24
- data/lib/roglew/contexts/base.rb +22 -12
- data/lib/roglew/contexts/deferred.rb +11 -4
- data/lib/roglew/contexts/immediate.rb +10 -2
- data/lib/roglew/errors.rb +1 -0
- data/lib/roglew/ext/ffi_struct_ext.rb +21 -20
- data/lib/roglew/extensions/GLX_3DFX_multisample.rb +6 -6
- data/lib/roglew/extensions/GLX_AMD_gpu_association.rb +13 -13
- data/lib/roglew/extensions/GLX_ARB_create_context.rb +5 -3
- data/lib/roglew/extensions/GLX_ARB_create_context_profile.rb +6 -6
- data/lib/roglew/extensions/GLX_ARB_create_context_robustness.rb +7 -7
- data/lib/roglew/extensions/GLX_ARB_fbconfig_float.rb +5 -5
- data/lib/roglew/extensions/GLX_ARB_framebuffer_sRGB.rb +4 -4
- data/lib/roglew/extensions/GLX_ARB_get_proc_address.rb +8 -5
- data/lib/roglew/extensions/GLX_ARB_multisample.rb +6 -6
- data/lib/roglew/extensions/GLX_ARB_robustness_application_isolation.rb +4 -4
- data/lib/roglew/extensions/GLX_ARB_robustness_share_group_isolation.rb +4 -4
- data/lib/roglew/extensions/GLX_ARB_vertex_buffer_object.rb +4 -4
- data/lib/roglew/extensions/GLX_ATI_pixel_format_float.rb +4 -4
- data/lib/roglew/extensions/GLX_ATI_render_texture.rb +11 -8
- data/lib/roglew/extensions/GLX_EXT_create_context_es2_profile.rb +4 -4
- data/lib/roglew/extensions/GLX_EXT_create_context_es_profile.rb +4 -4
- data/lib/roglew/extensions/GLX_EXT_fbconfig_packed_float.rb +5 -5
- data/lib/roglew/extensions/GLX_EXT_framebuffer_sRGB.rb +4 -4
- data/lib/roglew/extensions/GLX_EXT_import_context.rb +12 -10
- data/lib/roglew/extensions/GLX_EXT_swap_control.rb +7 -4
- data/lib/roglew/extensions/GLX_EXT_swap_control_tear.rb +4 -4
- data/lib/roglew/extensions/GLX_EXT_texture_from_pixmap.rb +8 -6
- data/lib/roglew/extensions/GLX_EXT_visual_info.rb +19 -19
- data/lib/roglew/extensions/GLX_EXT_visual_rating.rb +6 -6
- data/lib/roglew/extensions/GLX_INTEL_swap_event.rb +7 -7
- data/lib/roglew/extensions/GLX_MESA_agp_offset.rb +6 -4
- data/lib/roglew/extensions/GLX_MESA_copy_sub_buffer.rb +6 -4
- data/lib/roglew/extensions/GLX_MESA_pixmap_colormap.rb +6 -4
- data/lib/roglew/extensions/GLX_MESA_release_buffers.rb +6 -4
- data/lib/roglew/extensions/GLX_MESA_set_3dfx_mode.rb +6 -4
- data/lib/roglew/extensions/GLX_MESA_swap_control.rb +9 -6
- data/lib/roglew/extensions/GLX_NV_copy_image.rb +24 -22
- data/lib/roglew/extensions/GLX_NV_float_buffer.rb +4 -4
- data/lib/roglew/extensions/GLX_NV_multisample_coverage.rb +5 -5
- data/lib/roglew/extensions/GLX_NV_present_video.rb +8 -6
- data/lib/roglew/extensions/GLX_NV_swap_group.rb +16 -14
- data/lib/roglew/extensions/GLX_NV_vertex_array_range.rb +8 -6
- data/lib/roglew/extensions/GLX_NV_video_capture.rb +14 -12
- data/lib/roglew/extensions/GLX_NV_video_out.rb +26 -24
- data/lib/roglew/extensions/GLX_OML_swap_method.rb +7 -7
- data/lib/roglew/extensions/GLX_OML_sync_control.rb +33 -31
- data/lib/roglew/extensions/GLX_SGIS_blended_overlay.rb +4 -4
- data/lib/roglew/extensions/GLX_SGIS_color_range.rb +12 -12
- data/lib/roglew/extensions/GLX_SGIS_multisample.rb +5 -5
- data/lib/roglew/extensions/GLX_SGIS_shared_multisample.rb +5 -5
- data/lib/roglew/extensions/GLX_SGIX_fbconfig.rb +21 -19
- data/lib/roglew/extensions/GLX_SGIX_hyperpipe.rb +26 -24
- data/lib/roglew/extensions/GLX_SGIX_pbuffer.rb +19 -17
- data/lib/roglew/extensions/GLX_SGIX_swap_barrier.rb +8 -6
- data/lib/roglew/extensions/GLX_SGIX_swap_group.rb +6 -4
- data/lib/roglew/extensions/GLX_SGIX_video_resize.rb +14 -12
- data/lib/roglew/extensions/GLX_SGIX_visual_select_group.rb +4 -4
- data/lib/roglew/extensions/GLX_SGI_cushion.rb +6 -4
- data/lib/roglew/extensions/GLX_SGI_make_current_read.rb +8 -6
- data/lib/roglew/extensions/GLX_SGI_swap_control.rb +6 -4
- data/lib/roglew/extensions/GLX_SGI_video_sync.rb +8 -6
- data/lib/roglew/extensions/GLX_SUN_get_transparent_index.rb +6 -4
- data/lib/roglew/extensions/GLX_SUN_video_resize.rb +8 -6
- data/lib/roglew/extensions/GLX_VERSION_1_1.rb +23 -21
- data/lib/roglew/extensions/GLX_VERSION_1_2.rb +9 -7
- data/lib/roglew/extensions/GLX_VERSION_1_3.rb +118 -116
- data/lib/roglew/extensions/GLX_VERSION_1_4.rb +16 -9
- data/lib/roglew/extensions/GL_3DFX_multisample.rb +7 -7
- data/lib/roglew/extensions/GL_3DFX_tbuffer.rb +9 -7
- data/lib/roglew/extensions/GL_3DFX_texture_compression_FXT1.rb +5 -5
- data/lib/roglew/extensions/GL_AMD_blend_minmax_factor.rb +5 -5
- data/lib/roglew/extensions/GL_AMD_debug_output.rb +43 -36
- data/lib/roglew/extensions/GL_AMD_depth_clamp_separate.rb +5 -5
- data/lib/roglew/extensions/GL_AMD_draw_buffers_blend.rb +11 -9
- data/lib/roglew/extensions/GL_AMD_multi_draw_indirect.rb +9 -7
- data/lib/roglew/extensions/GL_AMD_name_gen_delete.rb +20 -18
- data/lib/roglew/extensions/GL_AMD_performance_monitor.rb +30 -28
- data/lib/roglew/extensions/GL_AMD_pinned_memory.rb +4 -4
- data/lib/roglew/extensions/GL_AMD_query_buffer_object.rb +6 -6
- data/lib/roglew/extensions/GL_AMD_sample_positions.rb +14 -12
- data/lib/roglew/extensions/GL_AMD_seamless_cubemap_per_texture.rb +4 -4
- data/lib/roglew/extensions/GL_AMD_stencil_operation_extended.rb +17 -15
- data/lib/roglew/extensions/GL_AMD_vertex_shader_tessellator.rb +21 -19
- data/lib/roglew/extensions/GL_APPLE_aux_depth_stencil.rb +4 -4
- data/lib/roglew/extensions/GL_APPLE_client_storage.rb +4 -4
- data/lib/roglew/extensions/GL_APPLE_element_array.rb +20 -18
- data/lib/roglew/extensions/GL_APPLE_fence.rb +22 -20
- data/lib/roglew/extensions/GL_APPLE_float_pixels.rb +17 -17
- data/lib/roglew/extensions/GL_APPLE_flush_buffer_range.rb +16 -14
- data/lib/roglew/extensions/GL_APPLE_object_purgeable.rb +21 -19
- data/lib/roglew/extensions/GL_APPLE_pixel_buffer.rb +4 -4
- data/lib/roglew/extensions/GL_APPLE_rgb_422.rb +6 -6
- data/lib/roglew/extensions/GL_APPLE_row_bytes.rb +5 -5
- data/lib/roglew/extensions/GL_APPLE_specular_vector.rb +4 -4
- data/lib/roglew/extensions/GL_APPLE_texture_range.rb +20 -18
- data/lib/roglew/extensions/GL_APPLE_transform_hint.rb +4 -4
- data/lib/roglew/extensions/GL_APPLE_vertex_array_object.rb +17 -15
- data/lib/roglew/extensions/GL_APPLE_vertex_array_range.rb +23 -21
- data/lib/roglew/extensions/GL_APPLE_vertex_program_evaluators.rb +29 -27
- data/lib/roglew/extensions/GL_APPLE_ycbcr_422.rb +4 -4
- data/lib/roglew/extensions/GL_ARB_ES2_compatibility.rb +33 -31
- data/lib/roglew/extensions/GL_ARB_ES3_compatibility.rb +16 -16
- data/lib/roglew/extensions/GL_ARB_base_instance.rb +10 -8
- data/lib/roglew/extensions/GL_ARB_blend_func_extended.rb +18 -16
- data/lib/roglew/extensions/GL_ARB_cl_event.rb +15 -13
- data/lib/roglew/extensions/GL_ARB_clear_buffer_object.rb +11 -9
- data/lib/roglew/extensions/GL_ARB_color_buffer_float.rb +18 -16
- data/lib/roglew/extensions/GL_ARB_compressed_texture_pixel_storage.rb +11 -11
- data/lib/roglew/extensions/GL_ARB_compute_shader.rb +32 -30
- data/lib/roglew/extensions/GL_ARB_copy_buffer.rb +15 -13
- data/lib/roglew/extensions/GL_ARB_copy_image.rb +8 -6
- data/lib/roglew/extensions/GL_ARB_debug_output.rb +40 -38
- data/lib/roglew/extensions/GL_ARB_depth_buffer_float.rb +6 -6
- data/lib/roglew/extensions/GL_ARB_depth_clamp.rb +4 -4
- data/lib/roglew/extensions/GL_ARB_depth_texture.rb +8 -8
- data/lib/roglew/extensions/GL_ARB_draw_buffers.rb +30 -28
- data/lib/roglew/extensions/GL_ARB_draw_buffers_blend.rb +11 -9
- data/lib/roglew/extensions/GL_ARB_draw_elements_base_vertex.rb +11 -9
- data/lib/roglew/extensions/GL_ARB_draw_indirect.rb +16 -14
- data/lib/roglew/extensions/GL_ARB_explicit_uniform_location.rb +4 -4
- data/lib/roglew/extensions/GL_ARB_fragment_program.rb +18 -18
- data/lib/roglew/extensions/GL_ARB_fragment_shader.rb +6 -6
- data/lib/roglew/extensions/GL_ARB_framebuffer_no_attachments.rb +25 -23
- data/lib/roglew/extensions/GL_ARB_framebuffer_object.rb +51 -43
- data/lib/roglew/extensions/GL_ARB_framebuffer_object/framebuffer.rb +8 -8
- data/lib/roglew/extensions/GL_ARB_framebuffer_object/framebuffer_context.rb +22 -10
- data/lib/roglew/extensions/GL_ARB_framebuffer_object/renderbuffer.rb +8 -8
- data/lib/roglew/extensions/GL_ARB_framebuffer_object/renderbuffer_context.rb +14 -10
- data/lib/roglew/extensions/GL_ARB_framebuffer_sRGB.rb +4 -4
- data/lib/roglew/extensions/GL_ARB_geometry_shader4.rb +35 -33
- data/lib/roglew/extensions/GL_ARB_get_program_binary.rb +19 -17
- data/lib/roglew/extensions/GL_ARB_gpu_shader5.rb +9 -9
- data/lib/roglew/extensions/GL_ARB_gpu_shader_fp64.rb +42 -40
- data/lib/roglew/extensions/GL_ARB_half_float_pixel.rb +4 -4
- data/lib/roglew/extensions/GL_ARB_half_float_vertex.rb +4 -4
- data/lib/roglew/extensions/GL_ARB_imaging.rb +121 -119
- data/lib/roglew/extensions/GL_ARB_instanced_arrays.rb +16 -14
- data/lib/roglew/extensions/GL_ARB_internalformat_query.rb +14 -12
- data/lib/roglew/extensions/GL_ARB_internalformat_query2.rb +125 -123
- data/lib/roglew/extensions/GL_ARB_invalidate_subdata.rb +13 -11
- data/lib/roglew/extensions/GL_ARB_map_buffer_alignment.rb +4 -4
- data/lib/roglew/extensions/GL_ARB_map_buffer_range.rb +20 -18
- data/lib/roglew/extensions/GL_ARB_matrix_palette.rb +27 -25
- data/lib/roglew/extensions/GL_ARB_multi_draw_indirect.rb +9 -7
- data/lib/roglew/extensions/GL_ARB_multisample.rb +22 -20
- data/lib/roglew/extensions/GL_ARB_multitexture.rb +81 -79
- data/lib/roglew/extensions/GL_ARB_occlusion_query.rb +25 -23
- data/lib/roglew/extensions/GL_ARB_occlusion_query2.rb +4 -4
- data/lib/roglew/extensions/GL_ARB_pixel_buffer_object.rb +8 -8
- data/lib/roglew/extensions/GL_ARB_point_parameters.rb +18 -16
- data/lib/roglew/extensions/GL_ARB_point_sprite.rb +5 -5
- data/lib/roglew/extensions/GL_ARB_program_interface_query.rb +65 -63
- data/lib/roglew/extensions/GL_ARB_provoking_vertex.rb +17 -15
- data/lib/roglew/extensions/GL_ARB_robustness.rb +39 -37
- data/lib/roglew/extensions/GL_ARB_sample_shading.rb +17 -15
- data/lib/roglew/extensions/GL_ARB_sampler_objects.rb +29 -27
- data/lib/roglew/extensions/GL_ARB_seamless_cube_map.rb +5 -5
- data/lib/roglew/extensions/GL_ARB_separate_shader_objects.rb +83 -81
- data/lib/roglew/extensions/GL_ARB_shader_atomic_counters.rb +44 -42
- data/lib/roglew/extensions/GL_ARB_shader_image_load_store.rb +80 -78
- data/lib/roglew/extensions/GL_ARB_shader_objects.rb +87 -85
- data/lib/roglew/extensions/GL_ARB_shader_storage_buffer_object.rb +31 -29
- data/lib/roglew/extensions/GL_ARB_shader_subroutine.rb +31 -29
- data/lib/roglew/extensions/GL_ARB_shading_language_100.rb +4 -4
- data/lib/roglew/extensions/GL_ARB_shading_language_include.rb +21 -19
- data/lib/roglew/extensions/GL_ARB_shadow.rb +6 -6
- data/lib/roglew/extensions/GL_ARB_shadow_ambient.rb +4 -4
- data/lib/roglew/extensions/GL_ARB_stencil_texturing.rb +4 -4
- data/lib/roglew/extensions/GL_ARB_sync.rb +36 -34
- data/lib/roglew/extensions/GL_ARB_tessellation_shader.rb +48 -46
- data/lib/roglew/extensions/GL_ARB_texture_border_clamp.rb +4 -4
- data/lib/roglew/extensions/GL_ARB_texture_buffer_object.rb +20 -18
- data/lib/roglew/extensions/GL_ARB_texture_buffer_range.rb +19 -17
- data/lib/roglew/extensions/GL_ARB_texture_compression.rb +32 -30
- data/lib/roglew/extensions/GL_ARB_texture_compression_bptc.rb +7 -7
- data/lib/roglew/extensions/GL_ARB_texture_compression_rgtc.rb +7 -7
- data/lib/roglew/extensions/GL_ARB_texture_cube_map.rb +15 -15
- data/lib/roglew/extensions/GL_ARB_texture_cube_map_array.rb +10 -10
- data/lib/roglew/extensions/GL_ARB_texture_env_combine.rb +25 -25
- data/lib/roglew/extensions/GL_ARB_texture_env_dot3.rb +5 -5
- data/lib/roglew/extensions/GL_ARB_texture_float.rb +23 -23
- data/lib/roglew/extensions/GL_ARB_texture_gather.rb +6 -6
- data/lib/roglew/extensions/GL_ARB_texture_mirrored_repeat.rb +4 -4
- data/lib/roglew/extensions/GL_ARB_texture_multisample.rb +39 -37
- data/lib/roglew/extensions/GL_ARB_texture_rectangle.rb +9 -9
- data/lib/roglew/extensions/GL_ARB_texture_rg.rb +27 -27
- data/lib/roglew/extensions/GL_ARB_texture_rgb10_a2ui.rb +4 -4
- data/lib/roglew/extensions/GL_ARB_texture_storage.rb +21 -19
- data/lib/roglew/extensions/GL_ARB_texture_storage_multisample.rb +13 -11
- data/lib/roglew/extensions/GL_ARB_texture_swizzle.rb +8 -8
- data/lib/roglew/extensions/GL_ARB_texture_view.rb +20 -18
- data/lib/roglew/extensions/GL_ARB_timer_query.rb +19 -17
- data/lib/roglew/extensions/GL_ARB_transform_feedback2.rb +25 -23
- data/lib/roglew/extensions/GL_ARB_transform_feedback3.rb +20 -0
- data/lib/roglew/extensions/GL_ARB_transform_feedback_instanced.rb +11 -9
- data/lib/roglew/extensions/GL_ARB_transpose_matrix.rb +22 -20
- data/lib/roglew/extensions/GL_ARB_uniform_buffer_object.rb +57 -55
- data/lib/roglew/extensions/GL_ARB_vertex_array_bgra.rb +4 -4
- data/lib/roglew/extensions/GL_ARB_vertex_array_object.rb +31 -26
- data/lib/roglew/extensions/GL_ARB_vertex_array_object/vertex_array.rb +27 -27
- data/lib/roglew/extensions/GL_ARB_vertex_attrib_64bit.rb +30 -28
- data/lib/roglew/extensions/GL_ARB_vertex_attrib_binding.rb +27 -25
- data/lib/roglew/extensions/GL_ARB_vertex_blend.rb +66 -64
- data/lib/roglew/extensions/GL_ARB_vertex_buffer_object.rb +53 -51
- data/lib/roglew/extensions/GL_ARB_vertex_program.rb +155 -153
- data/lib/roglew/extensions/GL_ARB_vertex_shader.rb +24 -22
- data/lib/roglew/extensions/GL_ARB_vertex_type_2_10_10_10_rev.rb +54 -52
- data/lib/roglew/extensions/GL_ARB_viewport_array.rb +37 -35
- data/lib/roglew/extensions/GL_ARB_window_pos.rb +23 -21
- data/lib/roglew/extensions/GL_ATIX_point_sprites.rb +9 -9
- data/lib/roglew/extensions/GL_ATIX_texture_env_combine3.rb +6 -6
- data/lib/roglew/extensions/GL_ATIX_texture_env_route.rb +6 -6
- data/lib/roglew/extensions/GL_ATIX_vertex_shader_output_point_size.rb +4 -4
- data/lib/roglew/extensions/GL_ATI_draw_buffers.rb +32 -30
- data/lib/roglew/extensions/GL_ATI_element_array.rb +20 -18
- data/lib/roglew/extensions/GL_ATI_envmap_bumpmap.rb +26 -24
- data/lib/roglew/extensions/GL_ATI_fragment_shader.rb +82 -80
- data/lib/roglew/extensions/GL_ATI_map_object_buffer.rb +11 -9
- data/lib/roglew/extensions/GL_ATI_meminfo.rb +6 -6
- data/lib/roglew/extensions/GL_ATI_pn_triangles.rb +25 -23
- data/lib/roglew/extensions/GL_ATI_separate_stencil.rb +20 -18
- data/lib/roglew/extensions/GL_ATI_text_fragment_shader.rb +4 -4
- data/lib/roglew/extensions/GL_ATI_texture_compression_3dc.rb +4 -4
- data/lib/roglew/extensions/GL_ATI_texture_env_combine3.rb +6 -6
- data/lib/roglew/extensions/GL_ATI_texture_float.rb +15 -15
- data/lib/roglew/extensions/GL_ATI_texture_mirror_once.rb +5 -5
- data/lib/roglew/extensions/GL_ATI_vertex_array_object.rb +34 -32
- data/lib/roglew/extensions/GL_ATI_vertex_attrib_array_object.rb +10 -8
- data/lib/roglew/extensions/GL_ATI_vertex_streams.rb +69 -67
- data/lib/roglew/extensions/GL_EXT_422_pixels.rb +7 -7
- data/lib/roglew/extensions/GL_EXT_Cg_shader.rb +5 -5
- data/lib/roglew/extensions/GL_EXT_abgr.rb +4 -4
- data/lib/roglew/extensions/GL_EXT_bgra.rb +5 -5
- data/lib/roglew/extensions/GL_EXT_bindable_uniform.rb +23 -21
- data/lib/roglew/extensions/GL_EXT_blend_color.rb +20 -18
- data/lib/roglew/extensions/GL_EXT_blend_equation_separate.rb +17 -15
- data/lib/roglew/extensions/GL_EXT_blend_func_separate.rb +19 -17
- data/lib/roglew/extensions/GL_EXT_blend_minmax.rb +19 -17
- data/lib/roglew/extensions/GL_EXT_blend_subtract.rb +7 -7
- data/lib/roglew/extensions/GL_EXT_clip_volume_hint.rb +4 -4
- data/lib/roglew/extensions/GL_EXT_cmyka.rb +7 -7
- data/lib/roglew/extensions/GL_EXT_color_subtable.rb +9 -7
- data/lib/roglew/extensions/GL_EXT_compiled_vertex_array.rb +18 -16
- data/lib/roglew/extensions/GL_EXT_convolution.rb +47 -45
- data/lib/roglew/extensions/GL_EXT_coordinate_frame.rb +30 -28
- data/lib/roglew/extensions/GL_EXT_copy_texture.rb +12 -10
- data/lib/roglew/extensions/GL_EXT_cull_vertex.rb +19 -17
- data/lib/roglew/extensions/GL_EXT_debug_marker.rb +10 -8
- data/lib/roglew/extensions/GL_EXT_depth_bounds_test.rb +16 -15
- data/lib/roglew/extensions/GL_EXT_direct_state_access.rb +250 -245
- data/lib/roglew/extensions/GL_EXT_draw_buffers2.rb +13 -11
- data/lib/roglew/extensions/GL_EXT_draw_instanced.rb +9 -7
- data/lib/roglew/extensions/GL_EXT_draw_range_elements.rb +17 -15
- data/lib/roglew/extensions/GL_EXT_fog_coord.rb +26 -24
- data/lib/roglew/extensions/GL_EXT_fragment_lighting.rb +46 -44
- data/lib/roglew/extensions/GL_EXT_framebuffer_blit.rb +19 -17
- data/lib/roglew/extensions/GL_EXT_framebuffer_multisample.rb +18 -16
- data/lib/roglew/extensions/GL_EXT_framebuffer_multisample_blit_scaled.rb +5 -5
- data/lib/roglew/extensions/GL_EXT_framebuffer_object.rb +36 -25
- data/lib/roglew/extensions/GL_EXT_framebuffer_object/framebuffer.rb +8 -8
- data/lib/roglew/extensions/GL_EXT_framebuffer_object/framebuffer_context.rb +16 -6
- data/lib/roglew/extensions/GL_EXT_framebuffer_object/renderbuffer.rb +8 -8
- data/lib/roglew/extensions/GL_EXT_framebuffer_object/renderbuffer_context.rb +12 -9
- data/lib/roglew/extensions/GL_EXT_framebuffer_sRGB.rb +5 -5
- data/lib/roglew/extensions/GL_EXT_geometry_shader4.rb +37 -35
- data/lib/roglew/extensions/GL_EXT_gpu_program_parameters.rb +9 -7
- data/lib/roglew/extensions/GL_EXT_gpu_shader4.rb +74 -72
- data/lib/roglew/extensions/GL_EXT_histogram.rb +37 -35
- data/lib/roglew/extensions/GL_EXT_index_func.rb +8 -6
- data/lib/roglew/extensions/GL_EXT_index_material.rb +8 -6
- data/lib/roglew/extensions/GL_EXT_light_texture.rb +26 -24
- data/lib/roglew/extensions/GL_EXT_multi_draw_arrays.rb +9 -7
- data/lib/roglew/extensions/GL_EXT_multisample.rb +33 -31
- data/lib/roglew/extensions/GL_EXT_packed_depth_stencil.rb +7 -7
- data/lib/roglew/extensions/GL_EXT_packed_float.rb +6 -6
- data/lib/roglew/extensions/GL_EXT_packed_pixels.rb +8 -8
- data/lib/roglew/extensions/GL_EXT_paletted_texture.rb +39 -37
- data/lib/roglew/extensions/GL_EXT_pixel_buffer_object.rb +7 -7
- data/lib/roglew/extensions/GL_EXT_pixel_transform.rb +29 -27
- data/lib/roglew/extensions/GL_EXT_point_parameters.rb +20 -18
- data/lib/roglew/extensions/GL_EXT_polygon_offset.rb +18 -16
- data/lib/roglew/extensions/GL_EXT_provoking_vertex.rb +19 -17
- data/lib/roglew/extensions/GL_EXT_rescale_normal.rb +4 -4
- data/lib/roglew/extensions/GL_EXT_scene_marker.rb +9 -7
- data/lib/roglew/extensions/GL_EXT_secondary_color.rb +38 -36
- data/lib/roglew/extensions/GL_EXT_separate_shader_objects.rb +18 -16
- data/lib/roglew/extensions/GL_EXT_separate_specular_color.rb +6 -6
- data/lib/roglew/extensions/GL_EXT_shader_image_load_store.rb +71 -69
- data/lib/roglew/extensions/GL_EXT_shared_texture_palette.rb +4 -4
- data/lib/roglew/extensions/GL_EXT_stencil_clear_tag.rb +5 -5
- data/lib/roglew/extensions/GL_EXT_stencil_two_side.rb +17 -15
- data/lib/roglew/extensions/GL_EXT_stencil_wrap.rb +5 -5
- data/lib/roglew/extensions/GL_EXT_subtexture.rb +10 -8
- data/lib/roglew/extensions/GL_EXT_texture.rb +45 -45
- data/lib/roglew/extensions/GL_EXT_texture3D.rb +24 -22
- data/lib/roglew/extensions/GL_EXT_texture_array.rb +23 -21
- data/lib/roglew/extensions/GL_EXT_texture_buffer_object.rb +20 -18
- data/lib/roglew/extensions/GL_EXT_texture_compression_latc.rb +7 -7
- data/lib/roglew/extensions/GL_EXT_texture_compression_rgtc.rb +7 -7
- data/lib/roglew/extensions/GL_EXT_texture_compression_s3tc.rb +7 -7
- data/lib/roglew/extensions/GL_EXT_texture_cube_map.rb +15 -15
- data/lib/roglew/extensions/GL_EXT_texture_edge_clamp.rb +4 -4
- data/lib/roglew/extensions/GL_EXT_texture_env.rb +14 -14
- data/lib/roglew/extensions/GL_EXT_texture_env_combine.rb +24 -24
- data/lib/roglew/extensions/GL_EXT_texture_env_dot3.rb +5 -5
- data/lib/roglew/extensions/GL_EXT_texture_filter_anisotropic.rb +5 -5
- data/lib/roglew/extensions/GL_EXT_texture_integer.rb +67 -65
- data/lib/roglew/extensions/GL_EXT_texture_lod_bias.rb +6 -6
- data/lib/roglew/extensions/GL_EXT_texture_mirror_clamp.rb +6 -6
- data/lib/roglew/extensions/GL_EXT_texture_object.rb +25 -23
- data/lib/roglew/extensions/GL_EXT_texture_perturb_normal.rb +17 -15
- data/lib/roglew/extensions/GL_EXT_texture_rectangle.rb +7 -7
- data/lib/roglew/extensions/GL_EXT_texture_sRGB.rb +19 -19
- data/lib/roglew/extensions/GL_EXT_texture_sRGB_decode.rb +6 -6
- data/lib/roglew/extensions/GL_EXT_texture_shared_exponent.rb +6 -6
- data/lib/roglew/extensions/GL_EXT_texture_snorm.rb +28 -28
- data/lib/roglew/extensions/GL_EXT_texture_swizzle.rb +8 -8
- data/lib/roglew/extensions/GL_EXT_timer_query.rb +17 -15
- data/lib/roglew/extensions/GL_EXT_transform_feedback.rb +36 -34
- data/lib/roglew/extensions/GL_EXT_vertex_array.rb +55 -53
- data/lib/roglew/extensions/GL_EXT_vertex_array_bgra.rb +4 -4
- data/lib/roglew/extensions/GL_EXT_vertex_attrib_64bit.rb +37 -35
- data/lib/roglew/extensions/GL_EXT_vertex_shader.rb +166 -164
- data/lib/roglew/extensions/GL_EXT_vertex_weighting.rb +30 -28
- data/lib/roglew/extensions/GL_EXT_x11_sync_object.rb +16 -14
- data/lib/roglew/extensions/GL_GREMEDY_frame_terminator.rb +8 -6
- data/lib/roglew/extensions/GL_GREMEDY_string_marker.rb +8 -6
- data/lib/roglew/extensions/GL_HP_image_transform.rb +13 -11
- data/lib/roglew/extensions/GL_HP_occlusion_test.rb +5 -5
- data/lib/roglew/extensions/GL_IBM_cull_vertex.rb +4 -4
- data/lib/roglew/extensions/GL_IBM_multimode_draw_arrays.rb +9 -7
- data/lib/roglew/extensions/GL_IBM_rasterpos_clip.rb +4 -4
- data/lib/roglew/extensions/GL_IBM_static_data.rb +5 -5
- data/lib/roglew/extensions/GL_IBM_texture_mirrored_repeat.rb +4 -4
- data/lib/roglew/extensions/GL_IBM_vertex_array_lists.rb +38 -36
- data/lib/roglew/extensions/GL_INGR_color_clamp.rb +11 -11
- data/lib/roglew/extensions/GL_INGR_interlace_read.rb +4 -4
- data/lib/roglew/extensions/GL_INTEL_parallel_arrays.rb +23 -21
- data/lib/roglew/extensions/GL_INTEL_texture_scissor.rb +9 -7
- data/lib/roglew/extensions/GL_KHR_debug.rb +66 -64
- data/lib/roglew/extensions/GL_KHR_texture_compression_astc_ldr.rb +32 -32
- data/lib/roglew/extensions/GL_KTX_buffer_region.rb +23 -21
- data/lib/roglew/extensions/GL_MESAX_texture_stack.rb +9 -9
- data/lib/roglew/extensions/GL_MESA_pack_invert.rb +4 -4
- data/lib/roglew/extensions/GL_MESA_resize_buffers.rb +8 -6
- data/lib/roglew/extensions/GL_MESA_window_pos.rb +31 -29
- data/lib/roglew/extensions/GL_MESA_ycbcr_texture.rb +6 -6
- data/lib/roglew/extensions/GL_NVX_gpu_memory_info.rb +8 -8
- data/lib/roglew/extensions/GL_NV_bindless_texture.rb +20 -18
- data/lib/roglew/extensions/GL_NV_conditional_render.rb +20 -18
- data/lib/roglew/extensions/GL_NV_copy_depth_to_color.rb +5 -5
- data/lib/roglew/extensions/GL_NV_copy_image.rb +8 -6
- data/lib/roglew/extensions/GL_NV_depth_buffer_float.rb +21 -19
- data/lib/roglew/extensions/GL_NV_depth_clamp.rb +4 -4
- data/lib/roglew/extensions/GL_NV_depth_range_unclamped.rb +8 -8
- data/lib/roglew/extensions/GL_NV_evaluators.rb +47 -45
- data/lib/roglew/extensions/GL_NV_explicit_multisample.rb +27 -25
- data/lib/roglew/extensions/GL_NV_fence.rb +24 -22
- data/lib/roglew/extensions/GL_NV_float_buffer.rb +18 -18
- data/lib/roglew/extensions/GL_NV_fog_distance.rb +6 -6
- data/lib/roglew/extensions/GL_NV_fragment_program.rb +26 -24
- data/lib/roglew/extensions/GL_NV_fragment_program2.rb +8 -8
- data/lib/roglew/extensions/GL_NV_framebuffer_multisample_coverage.rb +19 -17
- data/lib/roglew/extensions/GL_NV_geometry_program4.rb +18 -16
- data/lib/roglew/extensions/GL_NV_gpu_program4.rb +34 -32
- data/lib/roglew/extensions/GL_NV_gpu_program5.rb +9 -9
- data/lib/roglew/extensions/GL_NV_gpu_shader5.rb +76 -74
- data/lib/roglew/extensions/GL_NV_half_float.rb +61 -59
- data/lib/roglew/extensions/GL_NV_light_max_exponent.rb +5 -5
- data/lib/roglew/extensions/GL_NV_multisample_coverage.rb +5 -5
- data/lib/roglew/extensions/GL_NV_multisample_filter_hint.rb +4 -4
- data/lib/roglew/extensions/GL_NV_occlusion_query.rb +25 -23
- data/lib/roglew/extensions/GL_NV_packed_depth_stencil.rb +5 -5
- data/lib/roglew/extensions/GL_NV_parameter_buffer_object.rb +22 -20
- data/lib/roglew/extensions/GL_NV_path_rendering.rb +193 -191
- data/lib/roglew/extensions/GL_NV_pixel_data_range.rb +22 -20
- data/lib/roglew/extensions/GL_NV_point_sprite.rb +19 -17
- data/lib/roglew/extensions/GL_NV_present_video.rb +26 -24
- data/lib/roglew/extensions/GL_NV_primitive_restart.rb +18 -16
- data/lib/roglew/extensions/GL_NV_register_combiners.rb +78 -76
- data/lib/roglew/extensions/GL_NV_register_combiners2.rb +17 -15
- data/lib/roglew/extensions/GL_NV_shader_buffer_load.rb +30 -28
- data/lib/roglew/extensions/GL_NV_tessellation_program5.rb +8 -8
- data/lib/roglew/extensions/GL_NV_texgen_emboss.rb +6 -6
- data/lib/roglew/extensions/GL_NV_texgen_reflection.rb +6 -6
- data/lib/roglew/extensions/GL_NV_texture_barrier.rb +8 -6
- data/lib/roglew/extensions/GL_NV_texture_env_combine4.rb +8 -8
- data/lib/roglew/extensions/GL_NV_texture_expand_normal.rb +4 -4
- data/lib/roglew/extensions/GL_NV_texture_multisample.rb +22 -20
- data/lib/roglew/extensions/GL_NV_texture_rectangle.rb +7 -7
- data/lib/roglew/extensions/GL_NV_texture_shader.rb +76 -76
- data/lib/roglew/extensions/GL_NV_texture_shader2.rb +31 -31
- data/lib/roglew/extensions/GL_NV_texture_shader3.rb +20 -20
- data/lib/roglew/extensions/GL_NV_transform_feedback.rb +50 -48
- data/lib/roglew/extensions/GL_NV_transform_feedback2.rb +25 -23
- data/lib/roglew/extensions/GL_NV_vdpau_interop.rb +28 -26
- data/lib/roglew/extensions/GL_NV_vertex_array_range.rb +21 -19
- data/lib/roglew/extensions/GL_NV_vertex_array_range2.rb +4 -4
- data/lib/roglew/extensions/GL_NV_vertex_attrib_integer_64bit.rb +35 -33
- data/lib/roglew/extensions/GL_NV_vertex_buffer_unified_memory.rb +51 -49
- data/lib/roglew/extensions/GL_NV_vertex_program.rb +161 -159
- data/lib/roglew/extensions/GL_NV_vertex_program2_option.rb +5 -5
- data/lib/roglew/extensions/GL_NV_vertex_program3.rb +4 -4
- data/lib/roglew/extensions/GL_NV_vertex_program4.rb +4 -4
- data/lib/roglew/extensions/GL_NV_video_capture.rb +55 -53
- data/lib/roglew/extensions/GL_OES_byte_coordinates.rb +4 -4
- data/lib/roglew/extensions/GL_OES_compressed_paletted_texture.rb +13 -13
- data/lib/roglew/extensions/GL_OES_read_format.rb +5 -5
- data/lib/roglew/extensions/GL_OES_single_precision.rb +13 -11
- data/lib/roglew/extensions/GL_OML_interlace.rb +5 -5
- data/lib/roglew/extensions/GL_OML_resample.rb +9 -9
- data/lib/roglew/extensions/GL_OML_subsample.rb +5 -5
- data/lib/roglew/extensions/GL_PGI_misc_hints.rb +23 -23
- data/lib/roglew/extensions/GL_PGI_vertex_hints.rb +25 -25
- data/lib/roglew/extensions/GL_REGAL_error_string.rb +8 -6
- data/lib/roglew/extensions/GL_REGAL_extension_query.rb +9 -7
- data/lib/roglew/extensions/GL_REGAL_log.rb +12 -12
- data/lib/roglew/extensions/GL_REND_screen_coordinates.rb +5 -5
- data/lib/roglew/extensions/GL_S3_s3tc.rb +9 -9
- data/lib/roglew/extensions/GL_SGIS_color_range.rb +12 -12
- data/lib/roglew/extensions/GL_SGIS_detail_texture.rb +9 -7
- data/lib/roglew/extensions/GL_SGIS_fog_function.rb +9 -7
- data/lib/roglew/extensions/GL_SGIS_generate_mipmap.rb +5 -5
- data/lib/roglew/extensions/GL_SGIS_multisample.rb +32 -30
- data/lib/roglew/extensions/GL_SGIS_point_line_texgen.rb +11 -11
- data/lib/roglew/extensions/GL_SGIS_sharpen_texture.rb +9 -7
- data/lib/roglew/extensions/GL_SGIS_texture4D.rb +9 -7
- data/lib/roglew/extensions/GL_SGIS_texture_border_clamp.rb +4 -4
- data/lib/roglew/extensions/GL_SGIS_texture_edge_clamp.rb +4 -4
- data/lib/roglew/extensions/GL_SGIS_texture_filter4.rb +9 -7
- data/lib/roglew/extensions/GL_SGIS_texture_lod.rb +7 -7
- data/lib/roglew/extensions/GL_SGIX_async.rb +21 -19
- data/lib/roglew/extensions/GL_SGIX_async_histogram.rb +5 -5
- data/lib/roglew/extensions/GL_SGIX_async_pixel.rb +9 -9
- data/lib/roglew/extensions/GL_SGIX_blend_alpha_minmax.rb +5 -5
- data/lib/roglew/extensions/GL_SGIX_convolution_accuracy.rb +4 -4
- data/lib/roglew/extensions/GL_SGIX_depth_texture.rb +6 -6
- data/lib/roglew/extensions/GL_SGIX_flush_raster.rb +8 -6
- data/lib/roglew/extensions/GL_SGIX_fog_offset.rb +5 -5
- data/lib/roglew/extensions/GL_SGIX_fog_texture.rb +18 -16
- data/lib/roglew/extensions/GL_SGIX_fragment_specular_lighting.rb +24 -22
- data/lib/roglew/extensions/GL_SGIX_framezoom.rb +10 -8
- data/lib/roglew/extensions/GL_SGIX_interlace.rb +4 -4
- data/lib/roglew/extensions/GL_SGIX_pixel_texture.rb +10 -8
- data/lib/roglew/extensions/GL_SGIX_reference_plane.rb +8 -6
- data/lib/roglew/extensions/GL_SGIX_resample.rb +7 -7
- data/lib/roglew/extensions/GL_SGIX_shadow_ambient.rb +4 -4
- data/lib/roglew/extensions/GL_SGIX_sprite.rb +11 -9
- data/lib/roglew/extensions/GL_SGIX_tag_sample_buffer.rb +8 -6
- data/lib/roglew/extensions/GL_SGIX_texture_coordinate_clamp.rb +6 -6
- data/lib/roglew/extensions/GL_SGIX_texture_multi_buffer.rb +4 -4
- data/lib/roglew/extensions/GL_SGIX_texture_range.rb +31 -31
- data/lib/roglew/extensions/GL_SGIX_texture_scale_bias.rb +7 -7
- data/lib/roglew/extensions/GL_SGIX_vertex_preclip.rb +5 -5
- data/lib/roglew/extensions/GL_SGIX_vertex_preclip_hint.rb +5 -5
- data/lib/roglew/extensions/GL_SGI_color_matrix.rb +14 -14
- data/lib/roglew/extensions/GL_SGI_color_table.rb +37 -35
- data/lib/roglew/extensions/GL_SGI_texture_color_table.rb +6 -6
- data/lib/roglew/extensions/GL_SUNX_constant_data.rb +17 -15
- data/lib/roglew/extensions/GL_SUN_convolution_border_modes.rb +4 -4
- data/lib/roglew/extensions/GL_SUN_global_alpha.rb +24 -22
- data/lib/roglew/extensions/GL_SUN_mesh_array.rb +5 -5
- data/lib/roglew/extensions/GL_SUN_read_video_pixels.rb +8 -6
- data/lib/roglew/extensions/GL_SUN_slice_accum.rb +4 -4
- data/lib/roglew/extensions/GL_SUN_triangle_list.rb +38 -36
- data/lib/roglew/extensions/GL_SUN_vertex.rb +47 -45
- data/lib/roglew/extensions/GL_VERSION_1_0.rb +288 -0
- data/lib/roglew/extensions/GL_VERSION_1_1.rb +45 -0
- data/lib/roglew/extensions/GL_VERSION_1_2.rb +16 -7
- data/lib/roglew/extensions/GL_VERSION_1_3.rb +157 -153
- data/lib/roglew/extensions/GL_VERSION_1_4.rb +100 -98
- data/lib/roglew/extensions/GL_VERSION_1_5.rb +134 -119
- data/lib/roglew/extensions/GL_VERSION_1_5/buffer.rb +24 -24
- data/lib/roglew/extensions/GL_VERSION_1_5/buffer_context.rb +32 -26
- data/lib/roglew/extensions/GL_VERSION_1_5/query.rb +18 -18
- data/lib/roglew/extensions/GL_VERSION_2_0.rb +125 -110
- data/lib/roglew/extensions/GL_VERSION_2_0/shader.rb +19 -22
- data/lib/roglew/extensions/GL_VERSION_2_0/shader_program.rb +21 -19
- data/lib/roglew/extensions/GL_VERSION_2_1.rb +41 -39
- data/lib/roglew/extensions/GL_VERSION_3_0.rb +181 -178
- data/lib/roglew/extensions/GL_VERSION_3_1.rb +55 -53
- data/lib/roglew/extensions/GL_VERSION_3_2.rb +45 -43
- data/lib/roglew/extensions/GL_VERSION_3_3.rb +20 -19
- data/lib/roglew/extensions/GL_VERSION_4_0.rb +48 -46
- data/lib/roglew/extensions/GL_VERSION_4_2.rb +21 -21
- data/lib/roglew/extensions/GL_VERSION_4_3.rb +30 -30
- data/lib/roglew/extensions/GL_WIN_specular_fog.rb +4 -4
- data/lib/roglew/extensions/GL_WIN_swap_hint.rb +8 -6
- data/lib/roglew/extensions/WGL_3DFX_multisample.rb +5 -5
- data/lib/roglew/extensions/WGL_3DL_stereo_control.rb +17 -15
- data/lib/roglew/extensions/WGL_AMD_gpu_association.rb +31 -29
- data/lib/roglew/extensions/WGL_ARB_buffer_region.rb +20 -18
- data/lib/roglew/extensions/WGL_ARB_create_context.rb +21 -19
- data/lib/roglew/extensions/WGL_ARB_create_context_profile.rb +7 -7
- data/lib/roglew/extensions/WGL_ARB_extensions_string.rb +8 -6
- data/lib/roglew/extensions/WGL_ARB_framebuffer_sRGB.rb +4 -4
- data/lib/roglew/extensions/WGL_ARB_make_current_read.rb +16 -14
- data/lib/roglew/extensions/WGL_ARB_multisample.rb +5 -5
- data/lib/roglew/extensions/WGL_ARB_pbuffer.rb +25 -23
- data/lib/roglew/extensions/WGL_ARB_pixel_format.rb +64 -62
- data/lib/roglew/extensions/WGL_ARB_pixel_format_float.rb +4 -4
- data/lib/roglew/extensions/WGL_ARB_render_texture.rb +48 -46
- data/lib/roglew/extensions/WGL_ATI_pixel_format_float.rb +9 -9
- data/lib/roglew/extensions/WGL_ATI_render_texture_rectangle.rb +4 -4
- data/lib/roglew/extensions/WGL_EXT_create_context_es2_profile.rb +4 -4
- data/lib/roglew/extensions/WGL_EXT_create_context_es_profile.rb +4 -4
- data/lib/roglew/extensions/WGL_EXT_depth_float.rb +4 -4
- data/lib/roglew/extensions/WGL_EXT_display_color_table.rb +11 -9
- data/lib/roglew/extensions/WGL_EXT_extensions_string.rb +8 -6
- data/lib/roglew/extensions/WGL_EXT_framebuffer_sRGB.rb +4 -4
- data/lib/roglew/extensions/WGL_EXT_make_current_read.rb +15 -13
- data/lib/roglew/extensions/WGL_EXT_multisample.rb +5 -5
- data/lib/roglew/extensions/WGL_EXT_pbuffer.rb +26 -24
- data/lib/roglew/extensions/WGL_EXT_pixel_format.rb +60 -58
- data/lib/roglew/extensions/WGL_EXT_pixel_format_packed_float.rb +4 -4
- data/lib/roglew/extensions/WGL_EXT_swap_control.rb +9 -7
- data/lib/roglew/extensions/WGL_I3D_digital_video_control.rb +18 -16
- data/lib/roglew/extensions/WGL_I3D_gamma.rb +18 -16
- data/lib/roglew/extensions/WGL_I3D_genlock.rb +33 -31
- data/lib/roglew/extensions/WGL_I3D_image_buffer.rb +19 -17
- data/lib/roglew/extensions/WGL_I3D_swap_frame_lock.rb +11 -9
- data/lib/roglew/extensions/WGL_I3D_swap_frame_usage.rb +11 -9
- data/lib/roglew/extensions/WGL_NV_DX_interop.rb +23 -21
- data/lib/roglew/extensions/WGL_NV_copy_image.rb +8 -6
- data/lib/roglew/extensions/WGL_NV_float_buffer.rb +12 -12
- data/lib/roglew/extensions/WGL_NV_gpu_affinity.rb +27 -25
- data/lib/roglew/extensions/WGL_NV_multisample_coverage.rb +5 -5
- data/lib/roglew/extensions/WGL_NV_present_video.rb +16 -14
- data/lib/roglew/extensions/WGL_NV_render_depth_texture.rb +9 -9
- data/lib/roglew/extensions/WGL_NV_render_texture_rectangle.rb +6 -6
- data/lib/roglew/extensions/WGL_NV_swap_group.rb +13 -11
- data/lib/roglew/extensions/WGL_NV_vertex_array_range.rb +9 -7
- data/lib/roglew/extensions/WGL_NV_video_capture.rb +19 -17
- data/lib/roglew/extensions/WGL_NV_video_output.rb +31 -29
- data/lib/roglew/extensions/WGL_OML_sync_control.rb +13 -11
- data/lib/roglew/gl.rb +6 -296
- data/lib/roglew/platform/linux.rb +3 -3
- data/lib/roglew/platform/linux/glx.rb +1 -2
- data/lib/roglew/platform/linux/{render_context.rb → render_handle.rb} +38 -37
- data/lib/roglew/platform/windows.rb +5 -5
- data/lib/roglew/platform/windows/gdi32.rb +241 -241
- data/lib/roglew/platform/windows/gl.rb +1 -1
- data/lib/roglew/platform/windows/kernel32.rb +8 -8
- data/lib/roglew/platform/windows/render_handle.rb +94 -0
- data/lib/roglew/platform/windows/wgl.rb +19 -18
- data/lib/roglew/render_context.rb +129 -90
- data/lib/roglew/render_context_extension.rb +50 -0
- data/lib/roglew/render_handle.rb +133 -45
- data/lib/roglew/render_handle_extension.rb +22 -0
- data/lib/roglew/texture2d.rb +8 -8
- data/lib/roglew/texture2d_context.rb +97 -25
- data/lib/roglew/version.rb +5 -0
- metadata +63 -43
- data/lib/roglew/extensions/GL_ARB_transform_feedback3pt.rb +0 -18
- data/lib/roglew/gl_extension.rb +0 -15
- data/lib/roglew/gl_object.rb +0 -32
- data/lib/roglew/platform/windows/render_context.rb +0 -100
- data/lib/roglew/texture.rb +0 -24
- data/lib/roglew/texture_context.rb +0 -9
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roglew
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- SilverPhoenix99
|
@@ -9,36 +9,50 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2017-02-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: facets
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - ~>
|
18
|
+
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '
|
20
|
+
version: '3'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- - ~>
|
25
|
+
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '
|
27
|
+
version: '3'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: ffi
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
34
|
+
version: '0'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
41
|
+
version: '0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: method_decorators
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0.9'
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0.9'
|
42
56
|
description: A gem to wrap OpenGL and extensions in an intuitive OO framework.
|
43
57
|
email:
|
44
58
|
- silver.phoenix99@gmail.com
|
@@ -47,6 +61,8 @@ executables: []
|
|
47
61
|
extensions: []
|
48
62
|
extra_rdoc_files: []
|
49
63
|
files:
|
64
|
+
- README.md
|
65
|
+
- lib/roglew.rb
|
50
66
|
- lib/roglew/contexts/base.rb
|
51
67
|
- lib/roglew/contexts/deferred.rb
|
52
68
|
- lib/roglew/contexts/immediate.rb
|
@@ -148,10 +164,12 @@ files:
|
|
148
164
|
- lib/roglew/extensions/GL_APPLE_vertex_array_range.rb
|
149
165
|
- lib/roglew/extensions/GL_APPLE_vertex_program_evaluators.rb
|
150
166
|
- lib/roglew/extensions/GL_APPLE_ycbcr_422.rb
|
167
|
+
- lib/roglew/extensions/GL_ARB_ES2_compatibility.rb
|
168
|
+
- lib/roglew/extensions/GL_ARB_ES3_compatibility.rb
|
151
169
|
- lib/roglew/extensions/GL_ARB_base_instance.rb
|
152
170
|
- lib/roglew/extensions/GL_ARB_blend_func_extended.rb
|
153
|
-
- lib/roglew/extensions/GL_ARB_clear_buffer_object.rb
|
154
171
|
- lib/roglew/extensions/GL_ARB_cl_event.rb
|
172
|
+
- lib/roglew/extensions/GL_ARB_clear_buffer_object.rb
|
155
173
|
- lib/roglew/extensions/GL_ARB_color_buffer_float.rb
|
156
174
|
- lib/roglew/extensions/GL_ARB_compressed_texture_pixel_storage.rb
|
157
175
|
- lib/roglew/extensions/GL_ARB_compute_shader.rb
|
@@ -165,17 +183,15 @@ files:
|
|
165
183
|
- lib/roglew/extensions/GL_ARB_draw_buffers_blend.rb
|
166
184
|
- lib/roglew/extensions/GL_ARB_draw_elements_base_vertex.rb
|
167
185
|
- lib/roglew/extensions/GL_ARB_draw_indirect.rb
|
168
|
-
- lib/roglew/extensions/GL_ARB_ES2_compatibility.rb
|
169
|
-
- lib/roglew/extensions/GL_ARB_ES3_compatibility.rb
|
170
186
|
- lib/roglew/extensions/GL_ARB_explicit_uniform_location.rb
|
171
187
|
- lib/roglew/extensions/GL_ARB_fragment_program.rb
|
172
188
|
- lib/roglew/extensions/GL_ARB_fragment_shader.rb
|
173
189
|
- lib/roglew/extensions/GL_ARB_framebuffer_no_attachments.rb
|
190
|
+
- lib/roglew/extensions/GL_ARB_framebuffer_object.rb
|
174
191
|
- lib/roglew/extensions/GL_ARB_framebuffer_object/framebuffer.rb
|
175
192
|
- lib/roglew/extensions/GL_ARB_framebuffer_object/framebuffer_context.rb
|
176
193
|
- lib/roglew/extensions/GL_ARB_framebuffer_object/renderbuffer.rb
|
177
194
|
- lib/roglew/extensions/GL_ARB_framebuffer_object/renderbuffer_context.rb
|
178
|
-
- lib/roglew/extensions/GL_ARB_framebuffer_object.rb
|
179
195
|
- lib/roglew/extensions/GL_ARB_framebuffer_sRGB.rb
|
180
196
|
- lib/roglew/extensions/GL_ARB_geometry_shader4.rb
|
181
197
|
- lib/roglew/extensions/GL_ARB_get_program_binary.rb
|
@@ -191,9 +207,9 @@ files:
|
|
191
207
|
- lib/roglew/extensions/GL_ARB_map_buffer_alignment.rb
|
192
208
|
- lib/roglew/extensions/GL_ARB_map_buffer_range.rb
|
193
209
|
- lib/roglew/extensions/GL_ARB_matrix_palette.rb
|
210
|
+
- lib/roglew/extensions/GL_ARB_multi_draw_indirect.rb
|
194
211
|
- lib/roglew/extensions/GL_ARB_multisample.rb
|
195
212
|
- lib/roglew/extensions/GL_ARB_multitexture.rb
|
196
|
-
- lib/roglew/extensions/GL_ARB_multi_draw_indirect.rb
|
197
213
|
- lib/roglew/extensions/GL_ARB_occlusion_query.rb
|
198
214
|
- lib/roglew/extensions/GL_ARB_occlusion_query2.rb
|
199
215
|
- lib/roglew/extensions/GL_ARB_pixel_buffer_object.rb
|
@@ -202,8 +218,8 @@ files:
|
|
202
218
|
- lib/roglew/extensions/GL_ARB_program_interface_query.rb
|
203
219
|
- lib/roglew/extensions/GL_ARB_provoking_vertex.rb
|
204
220
|
- lib/roglew/extensions/GL_ARB_robustness.rb
|
205
|
-
- lib/roglew/extensions/GL_ARB_sampler_objects.rb
|
206
221
|
- lib/roglew/extensions/GL_ARB_sample_shading.rb
|
222
|
+
- lib/roglew/extensions/GL_ARB_sampler_objects.rb
|
207
223
|
- lib/roglew/extensions/GL_ARB_seamless_cube_map.rb
|
208
224
|
- lib/roglew/extensions/GL_ARB_separate_shader_objects.rb
|
209
225
|
- lib/roglew/extensions/GL_ARB_shader_atomic_counters.rb
|
@@ -241,13 +257,13 @@ files:
|
|
241
257
|
- lib/roglew/extensions/GL_ARB_texture_view.rb
|
242
258
|
- lib/roglew/extensions/GL_ARB_timer_query.rb
|
243
259
|
- lib/roglew/extensions/GL_ARB_transform_feedback2.rb
|
244
|
-
- lib/roglew/extensions/
|
260
|
+
- lib/roglew/extensions/GL_ARB_transform_feedback3.rb
|
245
261
|
- lib/roglew/extensions/GL_ARB_transform_feedback_instanced.rb
|
246
262
|
- lib/roglew/extensions/GL_ARB_transpose_matrix.rb
|
247
263
|
- lib/roglew/extensions/GL_ARB_uniform_buffer_object.rb
|
248
264
|
- lib/roglew/extensions/GL_ARB_vertex_array_bgra.rb
|
249
|
-
- lib/roglew/extensions/GL_ARB_vertex_array_object/vertex_array.rb
|
250
265
|
- lib/roglew/extensions/GL_ARB_vertex_array_object.rb
|
266
|
+
- lib/roglew/extensions/GL_ARB_vertex_array_object/vertex_array.rb
|
251
267
|
- lib/roglew/extensions/GL_ARB_vertex_attrib_64bit.rb
|
252
268
|
- lib/roglew/extensions/GL_ARB_vertex_attrib_binding.rb
|
253
269
|
- lib/roglew/extensions/GL_ARB_vertex_blend.rb
|
@@ -269,15 +285,16 @@ files:
|
|
269
285
|
- lib/roglew/extensions/GL_ATI_meminfo.rb
|
270
286
|
- lib/roglew/extensions/GL_ATI_pn_triangles.rb
|
271
287
|
- lib/roglew/extensions/GL_ATI_separate_stencil.rb
|
288
|
+
- lib/roglew/extensions/GL_ATI_text_fragment_shader.rb
|
272
289
|
- lib/roglew/extensions/GL_ATI_texture_compression_3dc.rb
|
273
290
|
- lib/roglew/extensions/GL_ATI_texture_env_combine3.rb
|
274
291
|
- lib/roglew/extensions/GL_ATI_texture_float.rb
|
275
292
|
- lib/roglew/extensions/GL_ATI_texture_mirror_once.rb
|
276
|
-
- lib/roglew/extensions/GL_ATI_text_fragment_shader.rb
|
277
293
|
- lib/roglew/extensions/GL_ATI_vertex_array_object.rb
|
278
294
|
- lib/roglew/extensions/GL_ATI_vertex_attrib_array_object.rb
|
279
295
|
- lib/roglew/extensions/GL_ATI_vertex_streams.rb
|
280
296
|
- lib/roglew/extensions/GL_EXT_422_pixels.rb
|
297
|
+
- lib/roglew/extensions/GL_EXT_Cg_shader.rb
|
281
298
|
- lib/roglew/extensions/GL_EXT_abgr.rb
|
282
299
|
- lib/roglew/extensions/GL_EXT_bgra.rb
|
283
300
|
- lib/roglew/extensions/GL_EXT_bindable_uniform.rb
|
@@ -286,7 +303,6 @@ files:
|
|
286
303
|
- lib/roglew/extensions/GL_EXT_blend_func_separate.rb
|
287
304
|
- lib/roglew/extensions/GL_EXT_blend_minmax.rb
|
288
305
|
- lib/roglew/extensions/GL_EXT_blend_subtract.rb
|
289
|
-
- lib/roglew/extensions/GL_EXT_Cg_shader.rb
|
290
306
|
- lib/roglew/extensions/GL_EXT_clip_volume_hint.rb
|
291
307
|
- lib/roglew/extensions/GL_EXT_cmyka.rb
|
292
308
|
- lib/roglew/extensions/GL_EXT_color_subtable.rb
|
@@ -306,11 +322,11 @@ files:
|
|
306
322
|
- lib/roglew/extensions/GL_EXT_framebuffer_blit.rb
|
307
323
|
- lib/roglew/extensions/GL_EXT_framebuffer_multisample.rb
|
308
324
|
- lib/roglew/extensions/GL_EXT_framebuffer_multisample_blit_scaled.rb
|
325
|
+
- lib/roglew/extensions/GL_EXT_framebuffer_object.rb
|
309
326
|
- lib/roglew/extensions/GL_EXT_framebuffer_object/framebuffer.rb
|
310
327
|
- lib/roglew/extensions/GL_EXT_framebuffer_object/framebuffer_context.rb
|
311
328
|
- lib/roglew/extensions/GL_EXT_framebuffer_object/renderbuffer.rb
|
312
329
|
- lib/roglew/extensions/GL_EXT_framebuffer_object/renderbuffer_context.rb
|
313
|
-
- lib/roglew/extensions/GL_EXT_framebuffer_object.rb
|
314
330
|
- lib/roglew/extensions/GL_EXT_framebuffer_sRGB.rb
|
315
331
|
- lib/roglew/extensions/GL_EXT_geometry_shader4.rb
|
316
332
|
- lib/roglew/extensions/GL_EXT_gpu_program_parameters.rb
|
@@ -319,8 +335,8 @@ files:
|
|
319
335
|
- lib/roglew/extensions/GL_EXT_index_func.rb
|
320
336
|
- lib/roglew/extensions/GL_EXT_index_material.rb
|
321
337
|
- lib/roglew/extensions/GL_EXT_light_texture.rb
|
322
|
-
- lib/roglew/extensions/GL_EXT_multisample.rb
|
323
338
|
- lib/roglew/extensions/GL_EXT_multi_draw_arrays.rb
|
339
|
+
- lib/roglew/extensions/GL_EXT_multisample.rb
|
324
340
|
- lib/roglew/extensions/GL_EXT_packed_depth_stencil.rb
|
325
341
|
- lib/roglew/extensions/GL_EXT_packed_float.rb
|
326
342
|
- lib/roglew/extensions/GL_EXT_packed_pixels.rb
|
@@ -360,10 +376,10 @@ files:
|
|
360
376
|
- lib/roglew/extensions/GL_EXT_texture_object.rb
|
361
377
|
- lib/roglew/extensions/GL_EXT_texture_perturb_normal.rb
|
362
378
|
- lib/roglew/extensions/GL_EXT_texture_rectangle.rb
|
363
|
-
- lib/roglew/extensions/GL_EXT_texture_shared_exponent.rb
|
364
|
-
- lib/roglew/extensions/GL_EXT_texture_snorm.rb
|
365
379
|
- lib/roglew/extensions/GL_EXT_texture_sRGB.rb
|
366
380
|
- lib/roglew/extensions/GL_EXT_texture_sRGB_decode.rb
|
381
|
+
- lib/roglew/extensions/GL_EXT_texture_shared_exponent.rb
|
382
|
+
- lib/roglew/extensions/GL_EXT_texture_snorm.rb
|
367
383
|
- lib/roglew/extensions/GL_EXT_texture_swizzle.rb
|
368
384
|
- lib/roglew/extensions/GL_EXT_timer_query.rb
|
369
385
|
- lib/roglew/extensions/GL_EXT_transform_feedback.rb
|
@@ -514,16 +530,18 @@ files:
|
|
514
530
|
- lib/roglew/extensions/GL_SUN_slice_accum.rb
|
515
531
|
- lib/roglew/extensions/GL_SUN_triangle_list.rb
|
516
532
|
- lib/roglew/extensions/GL_SUN_vertex.rb
|
533
|
+
- lib/roglew/extensions/GL_VERSION_1_0.rb
|
534
|
+
- lib/roglew/extensions/GL_VERSION_1_1.rb
|
517
535
|
- lib/roglew/extensions/GL_VERSION_1_2.rb
|
518
536
|
- lib/roglew/extensions/GL_VERSION_1_3.rb
|
519
537
|
- lib/roglew/extensions/GL_VERSION_1_4.rb
|
538
|
+
- lib/roglew/extensions/GL_VERSION_1_5.rb
|
520
539
|
- lib/roglew/extensions/GL_VERSION_1_5/buffer.rb
|
521
540
|
- lib/roglew/extensions/GL_VERSION_1_5/buffer_context.rb
|
522
541
|
- lib/roglew/extensions/GL_VERSION_1_5/query.rb
|
523
|
-
- lib/roglew/extensions/
|
542
|
+
- lib/roglew/extensions/GL_VERSION_2_0.rb
|
524
543
|
- lib/roglew/extensions/GL_VERSION_2_0/shader.rb
|
525
544
|
- lib/roglew/extensions/GL_VERSION_2_0/shader_program.rb
|
526
|
-
- lib/roglew/extensions/GL_VERSION_2_0.rb
|
527
545
|
- lib/roglew/extensions/GL_VERSION_2_1.rb
|
528
546
|
- lib/roglew/extensions/GL_VERSION_3_0.rb
|
529
547
|
- lib/roglew/extensions/GL_VERSION_3_1.rb
|
@@ -568,8 +586,8 @@ files:
|
|
568
586
|
- lib/roglew/extensions/WGL_I3D_image_buffer.rb
|
569
587
|
- lib/roglew/extensions/WGL_I3D_swap_frame_lock.rb
|
570
588
|
- lib/roglew/extensions/WGL_I3D_swap_frame_usage.rb
|
571
|
-
- lib/roglew/extensions/WGL_NV_copy_image.rb
|
572
589
|
- lib/roglew/extensions/WGL_NV_DX_interop.rb
|
590
|
+
- lib/roglew/extensions/WGL_NV_copy_image.rb
|
573
591
|
- lib/roglew/extensions/WGL_NV_float_buffer.rb
|
574
592
|
- lib/roglew/extensions/WGL_NV_gpu_affinity.rb
|
575
593
|
- lib/roglew/extensions/WGL_NV_multisample_coverage.rb
|
@@ -582,37 +600,39 @@ files:
|
|
582
600
|
- lib/roglew/extensions/WGL_NV_video_output.rb
|
583
601
|
- lib/roglew/extensions/WGL_OML_sync_control.rb
|
584
602
|
- lib/roglew/gl.rb
|
585
|
-
- lib/roglew/
|
586
|
-
- lib/roglew/gl_object.rb
|
603
|
+
- lib/roglew/platform/linux.rb
|
587
604
|
- lib/roglew/platform/linux/gl.rb
|
588
605
|
- lib/roglew/platform/linux/glx.rb
|
589
|
-
- lib/roglew/platform/linux/
|
590
|
-
- lib/roglew/platform/
|
606
|
+
- lib/roglew/platform/linux/render_handle.rb
|
607
|
+
- lib/roglew/platform/windows.rb
|
591
608
|
- lib/roglew/platform/windows/gdi32.rb
|
592
609
|
- lib/roglew/platform/windows/gl.rb
|
593
610
|
- lib/roglew/platform/windows/kernel32.rb
|
594
|
-
- lib/roglew/platform/windows/
|
611
|
+
- lib/roglew/platform/windows/render_handle.rb
|
595
612
|
- lib/roglew/platform/windows/wgl.rb
|
596
|
-
- lib/roglew/platform/windows.rb
|
597
613
|
- lib/roglew/render_context.rb
|
614
|
+
- lib/roglew/render_context_extension.rb
|
598
615
|
- lib/roglew/render_handle.rb
|
599
|
-
- lib/roglew/
|
616
|
+
- lib/roglew/render_handle_extension.rb
|
600
617
|
- lib/roglew/texture2d.rb
|
601
618
|
- lib/roglew/texture2d_context.rb
|
602
|
-
- lib/roglew/
|
603
|
-
- lib/roglew.rb
|
604
|
-
- README.md
|
619
|
+
- lib/roglew/version.rb
|
605
620
|
homepage: https://github.com/SilverPhoenix99/roglew
|
606
621
|
licenses:
|
607
622
|
- MIT
|
608
623
|
metadata: {}
|
609
624
|
post_install_message: |
|
610
625
|
+----------------------------------------------------------------------------+
|
611
|
-
|
626
|
+
Thank you for choosing Roglew.
|
612
627
|
|
613
628
|
==========================================================================
|
614
|
-
0.
|
615
|
-
|
629
|
+
0.4.1 Codename Donatello
|
630
|
+
|
631
|
+
Changes:
|
632
|
+
- Separated rendering into RenderHandle (native layer) and RenderContext
|
633
|
+
(Ruby layer).
|
634
|
+
- WARNING: Ruby layer is incompatible with previous versions. Native
|
635
|
+
layer can still be called through RenderHandle.
|
616
636
|
==========================================================================
|
617
637
|
|
618
638
|
If you like what you see, support us on Pledgie:
|
@@ -627,17 +647,17 @@ require_paths:
|
|
627
647
|
- lib
|
628
648
|
required_ruby_version: !ruby/object:Gem::Requirement
|
629
649
|
requirements:
|
630
|
-
- -
|
650
|
+
- - ">="
|
631
651
|
- !ruby/object:Gem::Version
|
632
652
|
version: '0'
|
633
653
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
634
654
|
requirements:
|
635
|
-
- -
|
655
|
+
- - ">="
|
636
656
|
- !ruby/object:Gem::Version
|
637
657
|
version: '0'
|
638
658
|
requirements: []
|
639
659
|
rubyforge_project:
|
640
|
-
rubygems_version: 2.
|
660
|
+
rubygems_version: 2.6.8
|
641
661
|
signing_key:
|
642
662
|
specification_version: 4
|
643
663
|
summary: Ruby OpenGL and Extensions Wrapper
|
@@ -1,18 +0,0 @@
|
|
1
|
-
module Roglew
|
2
|
-
module GL
|
3
|
-
MAX_TRANSFORM_FEEDBACK_BUFFERS ||= 0x8E70
|
4
|
-
MAX_VERTEX_STREAMS ||= 0x8E71
|
5
|
-
end
|
6
|
-
end
|
7
|
-
|
8
|
-
module GL_ARB_transform_feedback3
|
9
|
-
module RenderContext
|
10
|
-
include Roglew::GLExtension
|
11
|
-
|
12
|
-
functions [:glBeginQueryIndexed, [ :uint, :uint, :uint ], :void],
|
13
|
-
[:glDrawTransformFeedbackStream, [ :uint, :uint, :uint ], :void],
|
14
|
-
[:glEndQueryIndexed, [ :uint, :uint ], :void],
|
15
|
-
[:glGetQueryIndexediv, [ :uint, :uint, :uint, :pointer ], :void]
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
data/lib/roglew/gl_extension.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
module Roglew
|
2
|
-
module GLExtension
|
3
|
-
module ClassMethods
|
4
|
-
def functions(*args)
|
5
|
-
return @functions if args.length == 0
|
6
|
-
@functions = args
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
def self.included(c)
|
11
|
-
c.extend ClassMethods
|
12
|
-
c.extend GLObject::ClassMethods
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
data/lib/roglew/gl_object.rb
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
module Roglew
|
2
|
-
module GLObject
|
3
|
-
module ClassMethods
|
4
|
-
def def_gen(name, function)
|
5
|
-
define_method "gen_#{name}", ->(count = 1) do
|
6
|
-
p = FFI::MemoryPointer.new(:uint, count)
|
7
|
-
send(function, count, p)
|
8
|
-
ids = p.read_array_of_uint(count)
|
9
|
-
count == 1 ? ids[0] : ids
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
def def_delete(name, function)
|
14
|
-
define_method "delete_#{name}", ->(ids) do
|
15
|
-
p = FFI::MemoryPointer.new(:uint, ids.count)
|
16
|
-
p.write_array_of_uint(ids)
|
17
|
-
send(function, ids.count, p)
|
18
|
-
nil
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def def_object(name)
|
23
|
-
def_gen(name.to_s.snakecase, "glGen#{name}")
|
24
|
-
def_delete(name.to_s.snakecase, "glDelete#{name}")
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def self.included(c)
|
29
|
-
c.extend(ClassMethods)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
@@ -1,100 +0,0 @@
|
|
1
|
-
module Roglew
|
2
|
-
class RenderContext
|
3
|
-
#if version not passed, builds context with latest version
|
4
|
-
def initialize(hdc, version = nil)
|
5
|
-
@hdc = hdc
|
6
|
-
|
7
|
-
initialize_pixel_format
|
8
|
-
|
9
|
-
@hrc, old_hrc = wglCreateContext(@hdc), nil
|
10
|
-
|
11
|
-
bind do
|
12
|
-
#check version
|
13
|
-
max_version = glGetString(GL::VERSION).split('.', 2).map!(&:to_i)
|
14
|
-
|
15
|
-
#if max OpelGL version is less than requested, give error
|
16
|
-
raise ArgumentError, "unsupported version #{version.join('.')}" if version && (max_version <=> version < 0)
|
17
|
-
|
18
|
-
@version = version || max_version
|
19
|
-
@loaded_extensions = Set.new
|
20
|
-
extension_list(:core).each { |ext| load_extension(ext) }
|
21
|
-
old_hrc, @hrc = @hrc, upgrade_context if @version[0] > 2
|
22
|
-
extension_list(:gl, :platform).each { |ext| load_extension(ext) }
|
23
|
-
end
|
24
|
-
|
25
|
-
@attribs = Set[GL::DITHER, GL::MULTISAMPLE]
|
26
|
-
|
27
|
-
wglDeleteContext(old_hrc) if old_hrc
|
28
|
-
|
29
|
-
ObjectSpace.define_finalizer(self, self.class.finalize(@hrc))
|
30
|
-
end
|
31
|
-
|
32
|
-
alias_method :get_proc_address, :wglGetProcAddress
|
33
|
-
|
34
|
-
def swap_buffers
|
35
|
-
Gdi32.SwapBuffers(@hdc)
|
36
|
-
end
|
37
|
-
|
38
|
-
def unbind
|
39
|
-
wglMakeCurrent(nil, nil)
|
40
|
-
end
|
41
|
-
|
42
|
-
#------
|
43
|
-
private
|
44
|
-
|
45
|
-
def initialize_pixel_format
|
46
|
-
pfd = Gdi32::PIXELFORMATDESCRIPTOR.new
|
47
|
-
pfd.dwFlags = [:DOUBLEBUFFER, :SUPPORT_OPENGL, :DRAW_TO_WINDOW]
|
48
|
-
pfd.cColorBits = 24
|
49
|
-
pfd.cAlphaBits = 8
|
50
|
-
pfd.cDepthBits = 32
|
51
|
-
|
52
|
-
pxfmt = Gdi32.ChoosePixelFormat(@hdc, pfd)
|
53
|
-
raise InvalidPixelFormatError,
|
54
|
-
"(ChoosePixelFormat) GetLastError returned #{Kernel32.GetLastError}" if pxfmt == 0
|
55
|
-
|
56
|
-
#Can't use DescribePixelFormat. Blows up remote desktop
|
57
|
-
#
|
58
|
-
#max_pfd = Gdi32.DescribePixelFormat(@hdc, pxfmt, Gdi32::PIXELFORMATDESCRIPTOR.size, pfd)
|
59
|
-
#puts "#\t" + Gdi32::PIXELFORMATDESCRIPTOR.members.select { |x| x != :nSize }.join("\t")
|
60
|
-
#max_pfd.times do |i|
|
61
|
-
# pfd2 = Gdi32::PIXELFORMATDESCRIPTOR.new
|
62
|
-
# Gdi32.DescribePixelFormat(@hdc, i+1, Gdi32::PIXELFORMATDESCRIPTOR.size, pfd2)
|
63
|
-
# puts "#{i + 1}\t" + Gdi32::PIXELFORMATDESCRIPTOR.
|
64
|
-
# members.select { |x| x != :nSize }.map { |x| pfd2.send(x).inspect }.join("\t")
|
65
|
-
#end
|
66
|
-
|
67
|
-
raise InvalidPixelFormatError,
|
68
|
-
"(SetPixelFormat) GetLastError returned #{Kernel32.GetLastError}" unless Gdi32.SetPixelFormat(@hdc, pxfmt, pfd)
|
69
|
-
end
|
70
|
-
|
71
|
-
def upgrade_context
|
72
|
-
load_extension :WGL_ARB_create_context
|
73
|
-
|
74
|
-
raise 'undefined function wglCreateContextAttribsARB' unless respond_to?(:wglCreateContextAttribsARB)
|
75
|
-
|
76
|
-
attribs = [WGL::CONTEXT_MAJOR_VERSION_ARB, @version[0],
|
77
|
-
WGL::CONTEXT_MINOR_VERSION_ARB, @version[1],
|
78
|
-
WGL::CONTEXT_FLAGS_ARB, WGL::CONTEXT_FORWARD_COMPATIBLE_BIT_ARB,
|
79
|
-
0]
|
80
|
-
ptr_attribs = FFI::MemoryPointer.new(:int, attribs.length)
|
81
|
-
ptr_attribs.write_array_of_int(attribs)
|
82
|
-
|
83
|
-
wglCreateContextAttribsARB(@hdc, nil, ptr_attribs)
|
84
|
-
end
|
85
|
-
|
86
|
-
def extension_list_platform
|
87
|
-
if (func = get_function(:wglGetExtensionsStringARB, [:pointer], :string))
|
88
|
-
func.(@hdc)
|
89
|
-
elsif (func = get_function(:wglGetExtensionsStringEXT, [], :string))
|
90
|
-
func.()
|
91
|
-
else
|
92
|
-
''
|
93
|
-
end.split.map!(&:to_sym)
|
94
|
-
end
|
95
|
-
|
96
|
-
def make_current
|
97
|
-
wglMakeCurrent(@hdc, @hrc)
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|