쉐이더는 프로그램 가능한 하드웨어를 조작하기 위한 언어라고 하면 맞을려나?
[링크 : http://www.opengl.org/sdk/docs/tutorials/TyphoonLabs/Chapter_1.pdf]
*******
아무튼, 쉐이더는 3가지가 존재하는데
openGL에서 그림을 그리기 위한 최소 단위인 Vertex 별로 처리하는 것은 Vertex 쉐이더
2d화된 이미지 기준으로 픽셀단위로 처리하는 것은 Pixel/Fragment 쉐이더 라고 한다.
Vertex -> Geometry -> Pixel 로 연결되는 느낌인데..
[링크 : http://feedback.wildfiregames.com/report/opengl/feature/GL_ARB_shading_language_120]
[링크 : http://www.opengl.org/sdk/docs/tutorials/TyphoonLabs/Chapter_1.pdf]
*******
아무튼, 쉐이더는 3가지가 존재하는데
openGL에서 그림을 그리기 위한 최소 단위인 Vertex 별로 처리하는 것은 Vertex 쉐이더
2d화된 이미지 기준으로 픽셀단위로 처리하는 것은 Pixel/Fragment 쉐이더 라고 한다.
Vertex -> Geometry -> Pixel 로 연결되는 느낌인데..
Pixel shaders (fragment shaders)
Vertex shaders
Geometry shaders (above Direct3D 10 and OpenGL 3.2)
intel 915GM 에서 glxinfo 실행해서 뽑아낸 결과$ glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory,
GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control,
GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap
GLX version: 1.2
GLX extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_SGI_make_current_read,
GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
GLX_EXT_texture_from_pixmap
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) 915GM GEM 20091221 2009Q4 x86/MMX/SSE2
OpenGL version string: 1.4 Mesa 7.7.1
OpenGL extensions:
GL_EXT_compiled_vertex_array, GL_EXT_texture_env_add, GL_ARB_copy_buffer,
GL_ARB_depth_texture, GL_ARB_draw_buffers,
GL_ARB_draw_elements_base_vertex, GL_ARB_fragment_program,
GL_ARB_half_float_pixel, GL_ARB_map_buffer_range, GL_ARB_multisample,
GL_ARB_multitexture, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters,
GL_ARB_point_sprite, GL_ARB_provoking_vertex, GL_ARB_shader_objects,
GL_ARB_shading_language_100, GL_ARB_shading_language_120, GL_ARB_shadow,
GL_ARB_sync, GL_ARB_texture_border_clamp, GL_ARB_texture_compression,
GL_ARB_texture_cube_map, GL_ARB_texture_env_add,
GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,
GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat,
GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle,
GL_ARB_transpose_matrix, GL_ARB_vertex_array_object,
GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader,
GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,
GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate,
GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract,
GL_EXT_cull_vertex, GL_EXT_copy_texture, GL_EXT_draw_range_elements,
GL_EXT_framebuffer_blit, GL_EXT_framebuffer_object, GL_EXT_fog_coord,
GL_EXT_gpu_program_parameters, GL_EXT_multi_draw_arrays,
GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels,
GL_EXT_pixel_buffer_object, GL_EXT_point_parameters,
GL_EXT_polygon_offset, GL_EXT_provoking_vertex, GL_EXT_rescale_normal,
GL_EXT_secondary_color, GL_EXT_separate_specular_color,
GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap,
GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D,
GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp,
GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias,
GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_vertex_array,
GL_3DFX_texture_compression_FXT1, GL_APPLE_client_storage,
GL_APPLE_packed_pixels, GL_APPLE_vertex_array_object,
GL_ATI_blend_equation_separate, GL_ATI_texture_env_combine3,
GL_ATI_separate_stencil, GL_IBM_multimode_draw_arrays,
GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat,
GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_ycbcr_texture,
GL_MESA_window_pos, GL_NV_blend_square, GL_NV_light_max_exponent,
GL_NV_packed_depth_stencil, GL_NV_texture_env_combine4,
GL_NV_texture_rectangle, GL_NV_texgen_reflection, GL_NV_vertex_program,
GL_NV_vertex_program1_1, GL_OES_read_format, GL_SGIS_generate_mipmap,
GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp,
GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays
|
[링크 : http://feedback.wildfiregames.com/report/opengl/feature/GL_ARB_shading_language_120]
'이론 관련 > 3D 그래픽 관련' 카테고리의 다른 글
극좌표계, 구면좌표계... (0) | 2015.07.22 |
---|---|
극좌표계 / 구면좌표계 (0) | 2013.03.26 |
vertex normal - 버텍스 노말 (0) | 2011.10.13 |
affine / point at inffinity (0) | 2011.05.01 |
OCTREE / PVS / BSP (2) | 2009.11.09 |