Class: RGSS::Shader

Inherits:
GameObject show all
Extended by:
GL
Includes:
GL
Defined in:
lib/rgss/shader.rb

Constant Summary collapse

PROJECTION_BINDING =
0

Constants included from GL

GL::GL_ACTIVE_ATTRIBUTES, GL::GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL::GL_ACTIVE_TEXTURE, GL::GL_ACTIVE_UNIFORMS, GL::GL_ACTIVE_UNIFORM_BLOCKS, GL::GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH, GL::GL_ACTIVE_UNIFORM_MAX_LENGTH, GL::GL_ALIASED_LINE_WIDTH_RANGE, GL::GL_ALPHA, GL::GL_ALREADY_SIGNALED, GL::GL_ALWAYS, GL::GL_AND, GL::GL_AND_INVERTED, GL::GL_AND_REVERSE, GL::GL_ANY_SAMPLES_PASSED, GL::GL_ARRAY_BUFFER, GL::GL_ARRAY_BUFFER_BINDING, GL::GL_ATTACHED_SHADERS, GL::GL_BACK, GL::GL_BACK_LEFT, GL::GL_BACK_RIGHT, GL::GL_BGR, GL::GL_BGRA, GL::GL_BGRA_INTEGER, GL::GL_BGR_INTEGER, GL::GL_BLEND, GL::GL_BLEND_COLOR, GL::GL_BLEND_DST, GL::GL_BLEND_DST_ALPHA, GL::GL_BLEND_DST_RGB, GL::GL_BLEND_EQUATION, GL::GL_BLEND_EQUATION_ALPHA, GL::GL_BLEND_EQUATION_RGB, GL::GL_BLEND_SRC, GL::GL_BLEND_SRC_ALPHA, GL::GL_BLEND_SRC_RGB, GL::GL_BLUE, GL::GL_BLUE_INTEGER, GL::GL_BOOL, GL::GL_BOOL_VEC2, GL::GL_BOOL_VEC3, GL::GL_BOOL_VEC4, GL::GL_BUFFER_ACCESS, GL::GL_BUFFER_ACCESS_FLAGS, GL::GL_BUFFER_MAPPED, GL::GL_BUFFER_MAP_LENGTH, GL::GL_BUFFER_MAP_OFFSET, GL::GL_BUFFER_MAP_POINTER, GL::GL_BUFFER_SIZE, GL::GL_BUFFER_USAGE, GL::GL_BYTE, GL::GL_CCW, GL::GL_CLAMP_READ_COLOR, GL::GL_CLAMP_TO_BORDER, GL::GL_CLAMP_TO_EDGE, GL::GL_CLEAR, GL::GL_CLIP_DISTANCE0, GL::GL_CLIP_DISTANCE1, GL::GL_CLIP_DISTANCE2, GL::GL_CLIP_DISTANCE3, GL::GL_CLIP_DISTANCE4, GL::GL_CLIP_DISTANCE5, GL::GL_CLIP_DISTANCE6, GL::GL_CLIP_DISTANCE7, GL::GL_COLOR, GL::GL_COLOR_ATTACHMENT0, GL::GL_COLOR_ATTACHMENT1, GL::GL_COLOR_ATTACHMENT10, GL::GL_COLOR_ATTACHMENT11, GL::GL_COLOR_ATTACHMENT12, GL::GL_COLOR_ATTACHMENT13, GL::GL_COLOR_ATTACHMENT14, GL::GL_COLOR_ATTACHMENT15, GL::GL_COLOR_ATTACHMENT16, GL::GL_COLOR_ATTACHMENT17, GL::GL_COLOR_ATTACHMENT18, GL::GL_COLOR_ATTACHMENT19, GL::GL_COLOR_ATTACHMENT2, GL::GL_COLOR_ATTACHMENT20, GL::GL_COLOR_ATTACHMENT21, GL::GL_COLOR_ATTACHMENT22, GL::GL_COLOR_ATTACHMENT23, GL::GL_COLOR_ATTACHMENT24, GL::GL_COLOR_ATTACHMENT25, GL::GL_COLOR_ATTACHMENT26, GL::GL_COLOR_ATTACHMENT27, GL::GL_COLOR_ATTACHMENT28, GL::GL_COLOR_ATTACHMENT29, GL::GL_COLOR_ATTACHMENT3, GL::GL_COLOR_ATTACHMENT30, GL::GL_COLOR_ATTACHMENT31, GL::GL_COLOR_ATTACHMENT4, GL::GL_COLOR_ATTACHMENT5, GL::GL_COLOR_ATTACHMENT6, GL::GL_COLOR_ATTACHMENT7, GL::GL_COLOR_ATTACHMENT8, GL::GL_COLOR_ATTACHMENT9, GL::GL_COLOR_BUFFER_BIT, GL::GL_COLOR_CLEAR_VALUE, GL::GL_COLOR_LOGIC_OP, GL::GL_COLOR_WRITEMASK, GL::GL_COMPARE_REF_TO_TEXTURE, GL::GL_COMPILE_STATUS, GL::GL_COMPRESSED_RED, GL::GL_COMPRESSED_RED_RGTC1, GL::GL_COMPRESSED_RG, GL::GL_COMPRESSED_RGB, GL::GL_COMPRESSED_RGBA, GL::GL_COMPRESSED_RG_RGTC2, GL::GL_COMPRESSED_SIGNED_RED_RGTC1, GL::GL_COMPRESSED_SIGNED_RG_RGTC2, GL::GL_COMPRESSED_SRGB, GL::GL_COMPRESSED_SRGB_ALPHA, GL::GL_COMPRESSED_TEXTURE_FORMATS, GL::GL_CONDITION_SATISFIED, GL::GL_CONSTANT_ALPHA, GL::GL_CONSTANT_COLOR, GL::GL_CONTEXT_COMPATIBILITY_PROFILE_BIT, GL::GL_CONTEXT_CORE_PROFILE_BIT, GL::GL_CONTEXT_FLAGS, GL::GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT, GL::GL_CONTEXT_PROFILE_MASK, GL::GL_COPY, GL::GL_COPY_INVERTED, GL::GL_COPY_READ_BUFFER, GL::GL_COPY_WRITE_BUFFER, GL::GL_CULL_FACE, GL::GL_CULL_FACE_MODE, GL::GL_CURRENT_PROGRAM, GL::GL_CURRENT_QUERY, GL::GL_CURRENT_VERTEX_ATTRIB, GL::GL_CW, GL::GL_DECR, GL::GL_DECR_WRAP, GL::GL_DELETE_STATUS, GL::GL_DEPTH, GL::GL_DEPTH24_STENCIL8, GL::GL_DEPTH32F_STENCIL8, GL::GL_DEPTH_ATTACHMENT, GL::GL_DEPTH_BUFFER_BIT, GL::GL_DEPTH_CLAMP, GL::GL_DEPTH_CLEAR_VALUE, GL::GL_DEPTH_COMPONENT, GL::GL_DEPTH_COMPONENT16, GL::GL_DEPTH_COMPONENT24, GL::GL_DEPTH_COMPONENT32, GL::GL_DEPTH_COMPONENT32F, GL::GL_DEPTH_FUNC, GL::GL_DEPTH_RANGE, GL::GL_DEPTH_STENCIL, GL::GL_DEPTH_STENCIL_ATTACHMENT, GL::GL_DEPTH_TEST, GL::GL_DEPTH_WRITEMASK, GL::GL_DITHER, GL::GL_DONT_CARE, GL::GL_DOUBLE, GL::GL_DOUBLEBUFFER, GL::GL_DRAW_BUFFER, GL::GL_DRAW_BUFFER0, GL::GL_DRAW_BUFFER1, GL::GL_DRAW_BUFFER10, GL::GL_DRAW_BUFFER11, GL::GL_DRAW_BUFFER12, GL::GL_DRAW_BUFFER13, GL::GL_DRAW_BUFFER14, GL::GL_DRAW_BUFFER15, GL::GL_DRAW_BUFFER2, GL::GL_DRAW_BUFFER3, GL::GL_DRAW_BUFFER4, GL::GL_DRAW_BUFFER5, GL::GL_DRAW_BUFFER6, GL::GL_DRAW_BUFFER7, GL::GL_DRAW_BUFFER8, GL::GL_DRAW_BUFFER9, GL::GL_DRAW_FRAMEBUFFER, GL::GL_DRAW_FRAMEBUFFER_BINDING, GL::GL_DST_ALPHA, GL::GL_DST_COLOR, GL::GL_DYNAMIC_COPY, GL::GL_DYNAMIC_DRAW, GL::GL_DYNAMIC_READ, GL::GL_ELEMENT_ARRAY_BUFFER, GL::GL_ELEMENT_ARRAY_BUFFER_BINDING, GL::GL_EQUAL, GL::GL_EQUIV, GL::GL_EXTENSIONS, GL::GL_FALSE, GL::GL_FASTEST, GL::GL_FILL, GL::GL_FIRST_VERTEX_CONVENTION, GL::GL_FIXED_ONLY, GL::GL_FLOAT, GL::GL_FLOAT_32_UNSIGNED_INT_24_8_REV, GL::GL_FLOAT_MAT2, GL::GL_FLOAT_MAT2x3, GL::GL_FLOAT_MAT2x4, GL::GL_FLOAT_MAT3, GL::GL_FLOAT_MAT3x2, GL::GL_FLOAT_MAT3x4, GL::GL_FLOAT_MAT4, GL::GL_FLOAT_MAT4x2, GL::GL_FLOAT_MAT4x3, GL::GL_FLOAT_VEC2, GL::GL_FLOAT_VEC3, GL::GL_FLOAT_VEC4, GL::GL_FRAGMENT_SHADER, GL::GL_FRAGMENT_SHADER_DERIVATIVE_HINT, GL::GL_FRAMEBUFFER, GL::GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE, GL::GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE, GL::GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING, GL::GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE, GL::GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE, GL::GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE, GL::GL_FRAMEBUFFER_ATTACHMENT_LAYERED, GL::GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, GL::GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, GL::GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE, GL::GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE, GL::GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE, GL::GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER, GL::GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL, GL::GL_FRAMEBUFFER_BINDING, GL::GL_FRAMEBUFFER_COMPLETE, GL::GL_FRAMEBUFFER_DEFAULT, GL::GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT, GL::GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER, GL::GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS, GL::GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT, GL::GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE, GL::GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER, GL::GL_FRAMEBUFFER_SRGB, GL::GL_FRAMEBUFFER_UNDEFINED, GL::GL_FRAMEBUFFER_UNSUPPORTED, GL::GL_FRONT, GL::GL_FRONT_AND_BACK, GL::GL_FRONT_FACE, GL::GL_FRONT_LEFT, GL::GL_FRONT_RIGHT, GL::GL_FUNC_ADD, GL::GL_FUNC_REVERSE_SUBTRACT, GL::GL_FUNC_SUBTRACT, GL::GL_GEOMETRY_INPUT_TYPE, GL::GL_GEOMETRY_OUTPUT_TYPE, GL::GL_GEOMETRY_SHADER, GL::GL_GEOMETRY_VERTICES_OUT, GL::GL_GEQUAL, GL::GL_GREATER, GL::GL_GREEN, GL::GL_GREEN_INTEGER, GL::GL_HALF_FLOAT, GL::GL_INCR, GL::GL_INCR_WRAP, GL::GL_INFO_LOG_LENGTH, GL::GL_INT, GL::GL_INTERLEAVED_ATTRIBS, GL::GL_INT_2_10_10_10_REV, GL::GL_INT_SAMPLER_1D, GL::GL_INT_SAMPLER_1D_ARRAY, GL::GL_INT_SAMPLER_2D, GL::GL_INT_SAMPLER_2D_ARRAY, GL::GL_INT_SAMPLER_2D_MULTISAMPLE, GL::GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY, GL::GL_INT_SAMPLER_2D_RECT, GL::GL_INT_SAMPLER_3D, GL::GL_INT_SAMPLER_BUFFER, GL::GL_INT_SAMPLER_CUBE, GL::GL_INT_VEC2, GL::GL_INT_VEC3, GL::GL_INT_VEC4, GL::GL_INVALID_ENUM, GL::GL_INVALID_FRAMEBUFFER_OPERATION, GL::GL_INVALID_INDEX, GL::GL_INVALID_OPERATION, GL::GL_INVALID_VALUE, GL::GL_INVERT, GL::GL_KEEP, GL::GL_LAST_VERTEX_CONVENTION, GL::GL_LEFT, GL::GL_LEQUAL, GL::GL_LESS, GL::GL_LINE, GL::GL_LINEAR, GL::GL_LINEAR_MIPMAP_LINEAR, GL::GL_LINEAR_MIPMAP_NEAREST, GL::GL_LINES, GL::GL_LINES_ADJACENCY, GL::GL_LINE_LOOP, GL::GL_LINE_SMOOTH, GL::GL_LINE_SMOOTH_HINT, GL::GL_LINE_STRIP, GL::GL_LINE_STRIP_ADJACENCY, GL::GL_LINE_WIDTH, GL::GL_LINE_WIDTH_GRANULARITY, GL::GL_LINE_WIDTH_RANGE, GL::GL_LINK_STATUS, GL::GL_LOGIC_OP_MODE, GL::GL_LOWER_LEFT, GL::GL_MAJOR_VERSION, GL::GL_MAP_FLUSH_EXPLICIT_BIT, GL::GL_MAP_INVALIDATE_BUFFER_BIT, GL::GL_MAP_INVALIDATE_RANGE_BIT, GL::GL_MAP_READ_BIT, GL::GL_MAP_UNSYNCHRONIZED_BIT, GL::GL_MAP_WRITE_BIT, GL::GL_MAX, GL::GL_MAX_3D_TEXTURE_SIZE, GL::GL_MAX_ARRAY_TEXTURE_LAYERS, GL::GL_MAX_CLIP_DISTANCES, GL::GL_MAX_COLOR_ATTACHMENTS, GL::GL_MAX_COLOR_TEXTURE_SAMPLES, GL::GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS, GL::GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS, GL::GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, GL::GL_MAX_COMBINED_UNIFORM_BLOCKS, GL::GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS, GL::GL_MAX_CUBE_MAP_TEXTURE_SIZE, GL::GL_MAX_DEPTH_TEXTURE_SAMPLES, GL::GL_MAX_DRAW_BUFFERS, GL::GL_MAX_DUAL_SOURCE_DRAW_BUFFERS, GL::GL_MAX_ELEMENTS_INDICES, GL::GL_MAX_ELEMENTS_VERTICES, GL::GL_MAX_FRAGMENT_INPUT_COMPONENTS, GL::GL_MAX_FRAGMENT_UNIFORM_BLOCKS, GL::GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, GL::GL_MAX_GEOMETRY_INPUT_COMPONENTS, GL::GL_MAX_GEOMETRY_OUTPUT_COMPONENTS, GL::GL_MAX_GEOMETRY_OUTPUT_VERTICES, GL::GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS, GL::GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS, GL::GL_MAX_GEOMETRY_UNIFORM_BLOCKS, GL::GL_MAX_GEOMETRY_UNIFORM_COMPONENTS, GL::GL_MAX_INTEGER_SAMPLES, GL::GL_MAX_PROGRAM_TEXEL_OFFSET, GL::GL_MAX_RECTANGLE_TEXTURE_SIZE, GL::GL_MAX_RENDERBUFFER_SIZE, GL::GL_MAX_SAMPLES, GL::GL_MAX_SAMPLE_MASK_WORDS, GL::GL_MAX_SERVER_WAIT_TIMEOUT, GL::GL_MAX_TEXTURE_BUFFER_SIZE, GL::GL_MAX_TEXTURE_IMAGE_UNITS, GL::GL_MAX_TEXTURE_LOD_BIAS, GL::GL_MAX_TEXTURE_SIZE, GL::GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS, GL::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, GL::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS, GL::GL_MAX_UNIFORM_BLOCK_SIZE, GL::GL_MAX_UNIFORM_BUFFER_BINDINGS, GL::GL_MAX_VARYING_COMPONENTS, GL::GL_MAX_VARYING_FLOATS, GL::GL_MAX_VERTEX_ATTRIBS, GL::GL_MAX_VERTEX_OUTPUT_COMPONENTS, GL::GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, GL::GL_MAX_VERTEX_UNIFORM_BLOCKS, GL::GL_MAX_VERTEX_UNIFORM_COMPONENTS, GL::GL_MAX_VIEWPORT_DIMS, GL::GL_MIN, GL::GL_MINOR_VERSION, GL::GL_MIN_PROGRAM_TEXEL_OFFSET, GL::GL_MIRRORED_REPEAT, GL::GL_MULTISAMPLE, GL::GL_NAND, GL::GL_NEAREST, GL::GL_NEAREST_MIPMAP_LINEAR, GL::GL_NEAREST_MIPMAP_NEAREST, GL::GL_NEVER, GL::GL_NICEST, GL::GL_NONE, GL::GL_NOOP, GL::GL_NOR, GL::GL_NOTEQUAL, GL::GL_NO_ERROR, GL::GL_NUM_COMPRESSED_TEXTURE_FORMATS, GL::GL_NUM_EXTENSIONS, GL::GL_OBJECT_TYPE, GL::GL_ONE, GL::GL_ONE_MINUS_CONSTANT_ALPHA, GL::GL_ONE_MINUS_CONSTANT_COLOR, GL::GL_ONE_MINUS_DST_ALPHA, GL::GL_ONE_MINUS_DST_COLOR, GL::GL_ONE_MINUS_SRC1_ALPHA, GL::GL_ONE_MINUS_SRC1_COLOR, GL::GL_ONE_MINUS_SRC_ALPHA, GL::GL_ONE_MINUS_SRC_COLOR, GL::GL_OR, GL::GL_OR_INVERTED, GL::GL_OR_REVERSE, GL::GL_OUT_OF_MEMORY, GL::GL_PACK_ALIGNMENT, GL::GL_PACK_IMAGE_HEIGHT, GL::GL_PACK_LSB_FIRST, GL::GL_PACK_ROW_LENGTH, GL::GL_PACK_SKIP_IMAGES, GL::GL_PACK_SKIP_PIXELS, GL::GL_PACK_SKIP_ROWS, GL::GL_PACK_SWAP_BYTES, GL::GL_PIXEL_PACK_BUFFER, GL::GL_PIXEL_PACK_BUFFER_BINDING, GL::GL_PIXEL_UNPACK_BUFFER, GL::GL_PIXEL_UNPACK_BUFFER_BINDING, GL::GL_POINT, GL::GL_POINTS, GL::GL_POINT_FADE_THRESHOLD_SIZE, GL::GL_POINT_SIZE, GL::GL_POINT_SIZE_GRANULARITY, GL::GL_POINT_SIZE_RANGE, GL::GL_POINT_SPRITE_COORD_ORIGIN, GL::GL_POLYGON_MODE, GL::GL_POLYGON_OFFSET_FACTOR, GL::GL_POLYGON_OFFSET_FILL, GL::GL_POLYGON_OFFSET_LINE, GL::GL_POLYGON_OFFSET_POINT, GL::GL_POLYGON_OFFSET_UNITS, GL::GL_POLYGON_SMOOTH, GL::GL_POLYGON_SMOOTH_HINT, GL::GL_PRIMITIVES_GENERATED, GL::GL_PRIMITIVE_RESTART, GL::GL_PRIMITIVE_RESTART_INDEX, GL::GL_PROGRAM_POINT_SIZE, GL::GL_PROVOKING_VERTEX, GL::GL_PROXY_TEXTURE_1D, GL::GL_PROXY_TEXTURE_1D_ARRAY, GL::GL_PROXY_TEXTURE_2D, GL::GL_PROXY_TEXTURE_2D_ARRAY, GL::GL_PROXY_TEXTURE_2D_MULTISAMPLE, GL::GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY, GL::GL_PROXY_TEXTURE_3D, GL::GL_PROXY_TEXTURE_CUBE_MAP, GL::GL_PROXY_TEXTURE_RECTANGLE, GL::GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION, GL::GL_QUERY_BY_REGION_NO_WAIT, GL::GL_QUERY_BY_REGION_WAIT, GL::GL_QUERY_COUNTER_BITS, GL::GL_QUERY_NO_WAIT, GL::GL_QUERY_RESULT, GL::GL_QUERY_RESULT_AVAILABLE, GL::GL_QUERY_WAIT, GL::GL_R11F_G11F_B10F, GL::GL_R16, GL::GL_R16F, GL::GL_R16I, GL::GL_R16UI, GL::GL_R16_SNORM, GL::GL_R32F, GL::GL_R32I, GL::GL_R32UI, GL::GL_R3_G3_B2, GL::GL_R8, GL::GL_R8I, GL::GL_R8UI, GL::GL_R8_SNORM, GL::GL_RASTERIZER_DISCARD, GL::GL_READ_BUFFER, GL::GL_READ_FRAMEBUFFER, GL::GL_READ_FRAMEBUFFER_BINDING, GL::GL_READ_ONLY, GL::GL_READ_WRITE, GL::GL_RED, GL::GL_RED_INTEGER, GL::GL_RENDERBUFFER, GL::GL_RENDERBUFFER_ALPHA_SIZE, GL::GL_RENDERBUFFER_BINDING, GL::GL_RENDERBUFFER_BLUE_SIZE, GL::GL_RENDERBUFFER_DEPTH_SIZE, GL::GL_RENDERBUFFER_GREEN_SIZE, GL::GL_RENDERBUFFER_HEIGHT, GL::GL_RENDERBUFFER_INTERNAL_FORMAT, GL::GL_RENDERBUFFER_RED_SIZE, GL::GL_RENDERBUFFER_SAMPLES, GL::GL_RENDERBUFFER_STENCIL_SIZE, GL::GL_RENDERBUFFER_WIDTH, GL::GL_RENDERER, GL::GL_REPEAT, GL::GL_REPLACE, GL::GL_RG, GL::GL_RG16, GL::GL_RG16F, GL::GL_RG16I, GL::GL_RG16UI, GL::GL_RG16_SNORM, GL::GL_RG32F, GL::GL_RG32I, GL::GL_RG32UI, GL::GL_RG8, GL::GL_RG8I, GL::GL_RG8UI, GL::GL_RG8_SNORM, GL::GL_RGB, GL::GL_RGB10, GL::GL_RGB10_A2, GL::GL_RGB10_A2UI, GL::GL_RGB12, GL::GL_RGB16, GL::GL_RGB16F, GL::GL_RGB16I, GL::GL_RGB16UI, GL::GL_RGB16_SNORM, GL::GL_RGB32F, GL::GL_RGB32I, GL::GL_RGB32UI, GL::GL_RGB4, GL::GL_RGB5, GL::GL_RGB5_A1, GL::GL_RGB8, GL::GL_RGB8I, GL::GL_RGB8UI, GL::GL_RGB8_SNORM, GL::GL_RGB9_E5, GL::GL_RGBA, GL::GL_RGBA12, GL::GL_RGBA16, GL::GL_RGBA16F, GL::GL_RGBA16I, GL::GL_RGBA16UI, GL::GL_RGBA16_SNORM, GL::GL_RGBA2, GL::GL_RGBA32F, GL::GL_RGBA32I, GL::GL_RGBA32UI, GL::GL_RGBA4, GL::GL_RGBA8, GL::GL_RGBA8I, GL::GL_RGBA8UI, GL::GL_RGBA8_SNORM, GL::GL_RGBA_INTEGER, GL::GL_RGB_INTEGER, GL::GL_RG_INTEGER, GL::GL_RIGHT, GL::GL_SAMPLER_1D, GL::GL_SAMPLER_1D_ARRAY, GL::GL_SAMPLER_1D_ARRAY_SHADOW, GL::GL_SAMPLER_1D_SHADOW, GL::GL_SAMPLER_2D, GL::GL_SAMPLER_2D_ARRAY, GL::GL_SAMPLER_2D_ARRAY_SHADOW, GL::GL_SAMPLER_2D_MULTISAMPLE, GL::GL_SAMPLER_2D_MULTISAMPLE_ARRAY, GL::GL_SAMPLER_2D_RECT, GL::GL_SAMPLER_2D_RECT_SHADOW, GL::GL_SAMPLER_2D_SHADOW, GL::GL_SAMPLER_3D, GL::GL_SAMPLER_BINDING, GL::GL_SAMPLER_BUFFER, GL::GL_SAMPLER_CUBE, GL::GL_SAMPLER_CUBE_SHADOW, GL::GL_SAMPLES, GL::GL_SAMPLES_PASSED, GL::GL_SAMPLE_ALPHA_TO_COVERAGE, GL::GL_SAMPLE_ALPHA_TO_ONE, GL::GL_SAMPLE_BUFFERS, GL::GL_SAMPLE_COVERAGE, GL::GL_SAMPLE_COVERAGE_INVERT, GL::GL_SAMPLE_COVERAGE_VALUE, GL::GL_SAMPLE_MASK, GL::GL_SAMPLE_MASK_VALUE, GL::GL_SAMPLE_POSITION, GL::GL_SCISSOR_BOX, GL::GL_SCISSOR_TEST, GL::GL_SEPARATE_ATTRIBS, GL::GL_SET, GL::GL_SHADER_SOURCE_LENGTH, GL::GL_SHADER_TYPE, GL::GL_SHADING_LANGUAGE_VERSION, GL::GL_SHORT, GL::GL_SIGNALED, GL::GL_SIGNED_NORMALIZED, GL::GL_SMOOTH_LINE_WIDTH_GRANULARITY, GL::GL_SMOOTH_LINE_WIDTH_RANGE, GL::GL_SMOOTH_POINT_SIZE_GRANULARITY, GL::GL_SMOOTH_POINT_SIZE_RANGE, GL::GL_SRC1_ALPHA, GL::GL_SRC1_COLOR, GL::GL_SRC_ALPHA, GL::GL_SRC_ALPHA_SATURATE, GL::GL_SRC_COLOR, GL::GL_SRGB, GL::GL_SRGB8, GL::GL_SRGB8_ALPHA8, GL::GL_SRGB_ALPHA, GL::GL_STATIC_COPY, GL::GL_STATIC_DRAW, GL::GL_STATIC_READ, GL::GL_STENCIL, GL::GL_STENCIL_ATTACHMENT, GL::GL_STENCIL_BACK_FAIL, GL::GL_STENCIL_BACK_FUNC, GL::GL_STENCIL_BACK_PASS_DEPTH_FAIL, GL::GL_STENCIL_BACK_PASS_DEPTH_PASS, GL::GL_STENCIL_BACK_REF, GL::GL_STENCIL_BACK_VALUE_MASK, GL::GL_STENCIL_BACK_WRITEMASK, GL::GL_STENCIL_BUFFER_BIT, GL::GL_STENCIL_CLEAR_VALUE, GL::GL_STENCIL_FAIL, GL::GL_STENCIL_FUNC, GL::GL_STENCIL_INDEX, GL::GL_STENCIL_INDEX1, GL::GL_STENCIL_INDEX16, GL::GL_STENCIL_INDEX4, GL::GL_STENCIL_INDEX8, GL::GL_STENCIL_PASS_DEPTH_FAIL, GL::GL_STENCIL_PASS_DEPTH_PASS, GL::GL_STENCIL_REF, GL::GL_STENCIL_TEST, GL::GL_STENCIL_VALUE_MASK, GL::GL_STENCIL_WRITEMASK, GL::GL_STEREO, GL::GL_STREAM_COPY, GL::GL_STREAM_DRAW, GL::GL_STREAM_READ, GL::GL_SUBPIXEL_BITS, GL::GL_SYNC_CONDITION, GL::GL_SYNC_FENCE, GL::GL_SYNC_FLAGS, GL::GL_SYNC_FLUSH_COMMANDS_BIT, GL::GL_SYNC_GPU_COMMANDS_COMPLETE, GL::GL_SYNC_STATUS, GL::GL_TEXTURE, GL::GL_TEXTURE0, GL::GL_TEXTURE1, GL::GL_TEXTURE10, GL::GL_TEXTURE11, GL::GL_TEXTURE12, GL::GL_TEXTURE13, GL::GL_TEXTURE14, GL::GL_TEXTURE15, GL::GL_TEXTURE16, GL::GL_TEXTURE17, GL::GL_TEXTURE18, GL::GL_TEXTURE19, GL::GL_TEXTURE2, GL::GL_TEXTURE20, GL::GL_TEXTURE21, GL::GL_TEXTURE22, GL::GL_TEXTURE23, GL::GL_TEXTURE24, GL::GL_TEXTURE25, GL::GL_TEXTURE26, GL::GL_TEXTURE27, GL::GL_TEXTURE28, GL::GL_TEXTURE29, GL::GL_TEXTURE3, GL::GL_TEXTURE30, GL::GL_TEXTURE31, GL::GL_TEXTURE4, GL::GL_TEXTURE5, GL::GL_TEXTURE6, GL::GL_TEXTURE7, GL::GL_TEXTURE8, GL::GL_TEXTURE9, GL::GL_TEXTURE_1D, GL::GL_TEXTURE_1D_ARRAY, GL::GL_TEXTURE_2D, GL::GL_TEXTURE_2D_ARRAY, GL::GL_TEXTURE_2D_MULTISAMPLE, GL::GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL::GL_TEXTURE_3D, GL::GL_TEXTURE_ALPHA_SIZE, GL::GL_TEXTURE_ALPHA_TYPE, GL::GL_TEXTURE_BASE_LEVEL, GL::GL_TEXTURE_BINDING_1D, GL::GL_TEXTURE_BINDING_1D_ARRAY, GL::GL_TEXTURE_BINDING_2D, GL::GL_TEXTURE_BINDING_2D_ARRAY, GL::GL_TEXTURE_BINDING_2D_MULTISAMPLE, GL::GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY, GL::GL_TEXTURE_BINDING_3D, GL::GL_TEXTURE_BINDING_BUFFER, GL::GL_TEXTURE_BINDING_CUBE_MAP, GL::GL_TEXTURE_BINDING_RECTANGLE, GL::GL_TEXTURE_BLUE_SIZE, GL::GL_TEXTURE_BLUE_TYPE, GL::GL_TEXTURE_BORDER_COLOR, GL::GL_TEXTURE_BUFFER, GL::GL_TEXTURE_BUFFER_DATA_STORE_BINDING, GL::GL_TEXTURE_COMPARE_FUNC, GL::GL_TEXTURE_COMPARE_MODE, GL::GL_TEXTURE_COMPRESSED, GL::GL_TEXTURE_COMPRESSED_IMAGE_SIZE, GL::GL_TEXTURE_COMPRESSION_HINT, GL::GL_TEXTURE_CUBE_MAP, GL::GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL::GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL::GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, GL::GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL::GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL::GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL::GL_TEXTURE_CUBE_MAP_SEAMLESS, GL::GL_TEXTURE_DEPTH, GL::GL_TEXTURE_DEPTH_SIZE, GL::GL_TEXTURE_DEPTH_TYPE, GL::GL_TEXTURE_FIXED_SAMPLE_LOCATIONS, GL::GL_TEXTURE_GREEN_SIZE, GL::GL_TEXTURE_GREEN_TYPE, GL::GL_TEXTURE_HEIGHT, GL::GL_TEXTURE_INTERNAL_FORMAT, GL::GL_TEXTURE_LOD_BIAS, GL::GL_TEXTURE_MAG_FILTER, GL::GL_TEXTURE_MAX_LEVEL, GL::GL_TEXTURE_MAX_LOD, GL::GL_TEXTURE_MIN_FILTER, GL::GL_TEXTURE_MIN_LOD, GL::GL_TEXTURE_RECTANGLE, GL::GL_TEXTURE_RED_SIZE, GL::GL_TEXTURE_RED_TYPE, GL::GL_TEXTURE_SAMPLES, GL::GL_TEXTURE_SHARED_SIZE, GL::GL_TEXTURE_STENCIL_SIZE, GL::GL_TEXTURE_SWIZZLE_A, GL::GL_TEXTURE_SWIZZLE_B, GL::GL_TEXTURE_SWIZZLE_G, GL::GL_TEXTURE_SWIZZLE_R, GL::GL_TEXTURE_SWIZZLE_RGBA, GL::GL_TEXTURE_WIDTH, GL::GL_TEXTURE_WRAP_R, GL::GL_TEXTURE_WRAP_S, GL::GL_TEXTURE_WRAP_T, GL::GL_TIMEOUT_EXPIRED, GL::GL_TIMEOUT_IGNORED, GL::GL_TIMESTAMP, GL::GL_TIME_ELAPSED, GL::GL_TRANSFORM_FEEDBACK_BUFFER, GL::GL_TRANSFORM_FEEDBACK_BUFFER_BINDING, GL::GL_TRANSFORM_FEEDBACK_BUFFER_MODE, GL::GL_TRANSFORM_FEEDBACK_BUFFER_SIZE, GL::GL_TRANSFORM_FEEDBACK_BUFFER_START, GL::GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, GL::GL_TRANSFORM_FEEDBACK_VARYINGS, GL::GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH, GL::GL_TRIANGLES, GL::GL_TRIANGLES_ADJACENCY, GL::GL_TRIANGLE_FAN, GL::GL_TRIANGLE_STRIP, GL::GL_TRIANGLE_STRIP_ADJACENCY, GL::GL_TRUE, GL::GL_UNIFORM_ARRAY_STRIDE, GL::GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS, GL::GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES, GL::GL_UNIFORM_BLOCK_BINDING, GL::GL_UNIFORM_BLOCK_DATA_SIZE, GL::GL_UNIFORM_BLOCK_INDEX, GL::GL_UNIFORM_BLOCK_NAME_LENGTH, GL::GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER, GL::GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER, GL::GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER, GL::GL_UNIFORM_BUFFER, GL::GL_UNIFORM_BUFFER_BINDING, GL::GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT, GL::GL_UNIFORM_BUFFER_SIZE, GL::GL_UNIFORM_BUFFER_START, GL::GL_UNIFORM_IS_ROW_MAJOR, GL::GL_UNIFORM_MATRIX_STRIDE, GL::GL_UNIFORM_NAME_LENGTH, GL::GL_UNIFORM_OFFSET, GL::GL_UNIFORM_SIZE, GL::GL_UNIFORM_TYPE, GL::GL_UNPACK_ALIGNMENT, GL::GL_UNPACK_IMAGE_HEIGHT, GL::GL_UNPACK_LSB_FIRST, GL::GL_UNPACK_ROW_LENGTH, GL::GL_UNPACK_SKIP_IMAGES, GL::GL_UNPACK_SKIP_PIXELS, GL::GL_UNPACK_SKIP_ROWS, GL::GL_UNPACK_SWAP_BYTES, GL::GL_UNSIGNALED, GL::GL_UNSIGNED_BYTE, GL::GL_UNSIGNED_BYTE_2_3_3_REV, GL::GL_UNSIGNED_BYTE_3_3_2, GL::GL_UNSIGNED_INT, GL::GL_UNSIGNED_INT_10F_11F_11F_REV, GL::GL_UNSIGNED_INT_10_10_10_2, GL::GL_UNSIGNED_INT_24_8, GL::GL_UNSIGNED_INT_2_10_10_10_REV, GL::GL_UNSIGNED_INT_5_9_9_9_REV, GL::GL_UNSIGNED_INT_8_8_8_8, GL::GL_UNSIGNED_INT_8_8_8_8_REV, GL::GL_UNSIGNED_INT_SAMPLER_1D, GL::GL_UNSIGNED_INT_SAMPLER_1D_ARRAY, GL::GL_UNSIGNED_INT_SAMPLER_2D, GL::GL_UNSIGNED_INT_SAMPLER_2D_ARRAY, GL::GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE, GL::GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY, GL::GL_UNSIGNED_INT_SAMPLER_2D_RECT, GL::GL_UNSIGNED_INT_SAMPLER_3D, GL::GL_UNSIGNED_INT_SAMPLER_BUFFER, GL::GL_UNSIGNED_INT_SAMPLER_CUBE, GL::GL_UNSIGNED_INT_VEC2, GL::GL_UNSIGNED_INT_VEC3, GL::GL_UNSIGNED_INT_VEC4, GL::GL_UNSIGNED_NORMALIZED, GL::GL_UNSIGNED_SHORT, GL::GL_UNSIGNED_SHORT_1_5_5_5_REV, GL::GL_UNSIGNED_SHORT_4_4_4_4, GL::GL_UNSIGNED_SHORT_4_4_4_4_REV, GL::GL_UNSIGNED_SHORT_5_5_5_1, GL::GL_UNSIGNED_SHORT_5_6_5, GL::GL_UNSIGNED_SHORT_5_6_5_REV, GL::GL_UPPER_LEFT, GL::GL_VALIDATE_STATUS, GL::GL_VENDOR, GL::GL_VERSION, GL::GL_VERTEX_ARRAY_BINDING, GL::GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL::GL_VERTEX_ATTRIB_ARRAY_DIVISOR, GL::GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL::GL_VERTEX_ATTRIB_ARRAY_INTEGER, GL::GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, GL::GL_VERTEX_ATTRIB_ARRAY_POINTER, GL::GL_VERTEX_ATTRIB_ARRAY_SIZE, GL::GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL::GL_VERTEX_ATTRIB_ARRAY_TYPE, GL::GL_VERTEX_PROGRAM_POINT_SIZE, GL::GL_VERTEX_SHADER, GL::GL_VIEWPORT, GL::GL_WAIT_FAILED, GL::GL_WRITE_ONLY, GL::GL_XOR, GL::GL_ZERO

Instance Attribute Summary

Attributes inherited from GameObject

#id

Instance Method Summary collapse

Methods included from GL

glActiveTexture, glAttachShader, glBeginConditionalRender, glBeginQuery, glBeginTransformFeedback, glBindAttribLocation, glBindBuffer, glBindBufferBase, glBindBufferRange, glBindFragDataLocation, glBindFragDataLocationIndexed, glBindFramebuffer, glBindRenderbuffer, glBindSampler, glBindTexture, glBindVertexArray, glBlendColor, glBlendEquation, glBlendEquationSeparate, glBlendFunc, glBlendFuncSeparate, glBlitFramebuffer, glBufferData, glBufferSubData, glCheckFramebufferStatus, glClampColor, glClear, glClearBufferfi, glClearBufferfv, glClearBufferiv, glClearBufferuiv, glClearColor, glClearDepth, glClearStencil, glClientWaitSync, glColorMask, glColorMaski, glColorP3ui, glColorP3uiv, glColorP4ui, glColorP4uiv, glCompileShader, glCompressedTexImage1D, glCompressedTexImage2D, glCompressedTexImage3D, glCompressedTexSubImage1D, glCompressedTexSubImage2D, glCompressedTexSubImage3D, glCopyBufferSubData, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glCreateProgram, glCreateShader, glCullFace, glDeleteBuffer, glDeleteBuffers, glDeleteFramebuffer, glDeleteFramebuffers, glDeleteProgram, glDeleteQueries, glDeleteQuery, glDeleteRenderbuffer, glDeleteRenderbuffers, glDeleteSampler, glDeleteSamplers, glDeleteShader, glDeleteSync, glDeleteTexture, glDeleteTextures, glDeleteVertexArray, glDeleteVertexArrays, glDepthFunc, glDepthMask, glDepthRange, glDetachShader, glDisable, glDisableVertexAttribArray, glDisablei, glDrawArrays, glDrawArraysInstanced, glDrawBuffer, glDrawBuffers, glDrawElements, glDrawElementsBaseVertex, glDrawElementsInstanced, glDrawElementsInstancedBaseVertex, glDrawRangeElements, glDrawRangeElementsBaseVertex, glEnable, glEnableVertexAttribArray, glEnablei, glEndConditionalRender, glEndQuery, glEndTransformFeedback, glFenceSync, glFinish, glFlush, glFlushMappedBufferRange, glFramebufferRenderbuffer, glFramebufferTexture, glFramebufferTexture1D, glFramebufferTexture2D, glFramebufferTexture3D, glFramebufferTextureLayer, glFrontFace, glGenBuffer, glGenBuffers, glGenFramebuffer, glGenFramebuffers, glGenQueries, glGenQuery, glGenRenderbuffer, glGenRenderbuffers, glGenSampler, glGenSamplers, glGenTexture, glGenTextures, glGenVertexArray, glGenVertexArrays, glGenerateMipmap, glGetActiveAttrib, glGetActiveUniform, glGetActiveUniformBlockName, glGetActiveUniformBlockiv, glGetActiveUniformName, glGetActiveUniformsiv, glGetAttachedShaders, glGetAttribLocation, glGetBooleani_v, glGetBooleanv, glGetBufferParameteri64v, glGetBufferParameteriv, glGetBufferPointerv, glGetBufferSubData, glGetCompressedTexImage, glGetDoublev, glGetError, glGetFloat, glGetFloatv, glGetFragDataIndex, glGetFragDataLocation, glGetFramebufferAttachmentParameteriv, glGetInteger, glGetInteger64i_v, glGetInteger64v, glGetIntegeri_v, glGetIntegerv, glGetMultisamplefv, glGetProgramInfoLog, glGetProgramiv, glGetQueryObjecti64v, glGetQueryObjectiv, glGetQueryObjectui64v, glGetQueryObjectuiv, glGetQueryiv, glGetRenderbufferParameteriv, glGetSamplerParameterIiv, glGetSamplerParameterIuiv, glGetSamplerParameterfv, glGetSamplerParameteriv, glGetShaderInfoLog, glGetShaderSource, glGetShaderiv, glGetString, glGetStringi, glGetSynciv, glGetTexImage, glGetTexLevelParameterfv, glGetTexLevelParameteriv, glGetTexParameterIiv, glGetTexParameterIuiv, glGetTexParameterfv, glGetTexParameteriv, glGetTransformFeedbackVarying, glGetUniformBlockIndex, glGetUniformIndices, glGetUniformLocation, glGetUniformfv, glGetUniformiv, glGetUniformuiv, glGetVertexAttribIiv, glGetVertexAttribIuiv, glGetVertexAttribPointerv, glGetVertexAttribdv, glGetVertexAttribfv, glGetVertexAttribiv, glHint, glIsBuffer, glIsEnabled, glIsEnabledi, glIsFramebuffer, glIsProgram, glIsQuery, glIsRenderbuffer, glIsSampler, glIsShader, glIsSync, glIsTexture, glIsVertexArray, glLineWidth, glLinkProgram, glLogicOp, glMapBuffer, glMapBufferRange, glMultiDrawArrays, glMultiDrawElements, glMultiDrawElementsBaseVertex, glMultiTexCoordP1ui, glMultiTexCoordP1uiv, glMultiTexCoordP2ui, glMultiTexCoordP2uiv, glMultiTexCoordP3ui, glMultiTexCoordP3uiv, glMultiTexCoordP4ui, glMultiTexCoordP4uiv, glNormalP3ui, glNormalP3uiv, glPixelStoref, glPixelStorei, glPointParameterf, glPointParameterfv, glPointParameteri, glPointParameteriv, glPointSize, glPolygonMode, glPolygonOffset, glPrimitiveRestartIndex, glProvokingVertex, glQueryCounter, glReadBuffer, glReadPixels, glRenderbufferStorage, glRenderbufferStorageMultisample, glSampleCoverage, glSampleMaski, glSamplerParameterIiv, glSamplerParameterIuiv, glSamplerParameterf, glSamplerParameterfv, glSamplerParameteri, glSamplerParameteriv, glScissor, glSecondaryColorP3ui, glSecondaryColorP3uiv, glShaderSource, glStencilFunc, glStencilFuncSeparate, glStencilMask, glStencilMaskSeparate, glStencilOp, glStencilOpSeparate, glTexBuffer, glTexCoordP1ui, glTexCoordP1uiv, glTexCoordP2ui, glTexCoordP2uiv, glTexCoordP3ui, glTexCoordP3uiv, glTexCoordP4ui, glTexCoordP4uiv, glTexImage1D, glTexImage2D, glTexImage2DMultisample, glTexImage3D, glTexImage3DMultisample, glTexParameterIiv, glTexParameterIuiv, glTexParameterf, glTexParameterfv, glTexParameteri, glTexParameteriv, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTransformFeedbackVaryings, glUniform1f, glUniform1fv, glUniform1i, glUniform1iv, glUniform1ui, glUniform1uiv, glUniform2f, glUniform2fv, glUniform2i, glUniform2iv, glUniform2ui, glUniform2uiv, glUniform3f, glUniform3fv, glUniform3i, glUniform3iv, glUniform3ui, glUniform3uiv, glUniform4f, glUniform4fv, glUniform4i, glUniform4iv, glUniform4ui, glUniform4uiv, glUniformBlockBinding, glUniformMatrix2fv, glUniformMatrix2x3fv, glUniformMatrix2x4fv, glUniformMatrix3fv, glUniformMatrix3x2fv, glUniformMatrix3x4fv, glUniformMatrix4fv, glUniformMatrix4x2fv, glUniformMatrix4x3fv, glUnmapBuffer, glUseProgram, glValidateProgram, glVertexAttrib1d, glVertexAttrib1dv, glVertexAttrib1f, glVertexAttrib1fv, glVertexAttrib1s, glVertexAttrib1sv, glVertexAttrib2d, glVertexAttrib2dv, glVertexAttrib2f, glVertexAttrib2fv, glVertexAttrib2s, glVertexAttrib2sv, glVertexAttrib3d, glVertexAttrib3dv, glVertexAttrib3f, glVertexAttrib3fv, glVertexAttrib3s, glVertexAttrib3sv, glVertexAttrib4Nbv, glVertexAttrib4Niv, glVertexAttrib4Nsv, glVertexAttrib4Nub, glVertexAttrib4Nubv, glVertexAttrib4Nuiv, glVertexAttrib4Nusv, glVertexAttrib4bv, glVertexAttrib4d, glVertexAttrib4dv, glVertexAttrib4f, glVertexAttrib4fv, glVertexAttrib4iv, glVertexAttrib4s, glVertexAttrib4sv, glVertexAttrib4ubv, glVertexAttrib4uiv, glVertexAttrib4usv, glVertexAttribDivisor, glVertexAttribI1i, glVertexAttribI1iv, glVertexAttribI1ui, glVertexAttribI1uiv, glVertexAttribI2i, glVertexAttribI2iv, glVertexAttribI2ui, glVertexAttribI2uiv, glVertexAttribI3i, glVertexAttribI3iv, glVertexAttribI3ui, glVertexAttribI3uiv, glVertexAttribI4bv, glVertexAttribI4i, glVertexAttribI4iv, glVertexAttribI4sv, glVertexAttribI4ubv, glVertexAttribI4ui, glVertexAttribI4uiv, glVertexAttribI4usv, glVertexAttribIPointer, glVertexAttribP1ui, glVertexAttribP1uiv, glVertexAttribP2ui, glVertexAttribP2uiv, glVertexAttribP3ui, glVertexAttribP3uiv, glVertexAttribP4ui, glVertexAttribP4uiv, glVertexAttribPointer, glVertexP2ui, glVertexP2uiv, glVertexP3ui, glVertexP3uiv, glVertexP4ui, glVertexP4uiv, glViewport, glWaitSync

Methods inherited from GameObject

#==

Constructor Details

#initialize(vertex, fragment, geometry = nil) ⇒ Shader

Returns a new instance of Shader.

Raises:

  • (ArgumentError)


11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/rgss/shader.rb', line 11

def initialize(vertex, fragment, geometry = nil)
  super(glCreateProgram)

  raise(ArgumentError, 'vertex source cannot be nil') unless vertex
  raise(ArgumentError, 'fragment source cannot be nil') unless fragment

  v = compile(GL_VERTEX_SHADER, vertex)
  f = compile(GL_FRAGMENT_SHADER, fragment)
  g = geometry ? compile(GL_GEOMETRY_SHADER, geometry) : 0

  glAttachShader(self.id, v)
  glAttachShader(self.id, f)
  glAttachShader(self.id, g) if g > 0

  glLinkProgram(self.id)

  [v, f, g].each do |shader|
    next if shader.zero?
    glDetachShader(self.id, shader)
    glDeleteShader(shader)
  end

  buffer = "\0" * SIZEOF_INT
  glGetProgramiv(self.id, GL_LINK_STATUS, buffer)

  return if buffer.unpack1('i') == GL_TRUE

  glGetProgramiv(self.id, GL_INFO_LOG_LENGTH, buffer)
  length = buffer.unpack1('i')
  message = "\0" * length

  glGetProgramInfoLog(self.id, lengh, buffer, message)
  raise(RuntimeError, "failed to link shader program: #{message}")

  index = glGetUniformBlockIndex(self.id, 'ortho')
  glUniformBlockBinding(@id, index, 0) if index >= 0
  
  p index

  if block_given?
    yield self
    dispose
  end
end

Instance Method Details

#compile(type, source) ⇒ Object (protected)

Raises:

  • (SyntaxError)


75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/rgss/shader.rb', line 75

def compile(type, source)

  id = glCreateShader(type)
  glShaderSource(id, source)
  glCompileShader(id)

  buffer = "\0" * SIZEOF_INT
  glGetShaderiv(id, GL_COMPILE_STATUS, buffer)
  return id if buffer.unpack1('i') == GL_TRUE

  glGetShaderiv(id, GL_INFO_LOG_LENGTH, buffer)
  length = buffer.unpack1('i')
  message = "\0" * length

  glGetShaderInfoLog(id, length, buffer, message)
  raise(SyntaxError, "failed to compile shader: #{message}")
end

#disposeObject



56
57
58
59
# File 'lib/rgss/shader.rb', line 56

def dispose
  glDeleteProgram(self.id) if self.id.nonzero?
  super
end

#locate(uniform) ⇒ Object



65
66
67
# File 'lib/rgss/shader.rb', line 65

def locate(uniform)
  return uniform ? glGetUniformLocation(self.id, uniform) : -1
end

#useObject



69
70
71
# File 'lib/rgss/shader.rb', line 69

def use
  glUseProgram(@id)
end

#valid?Boolean

Returns:

  • (Boolean)


61
62
63
# File 'lib/rgss/shader.rb', line 61

def valid?
  self.id.nonzero? && glIsProgram(self.id)
end