Сообщения на форуме пользователя Andrey (102 стр.)
Bone animation | 24 авг. 2008 | 11:31 | #5 |
---|
Egnech
делай 1 способом
освоишь передачу через матрицы можно сделать на кватернионах, в последнем случае уменьшится число констант вершинный шейдер будет чуть сложней, но производительность должна улучшится.
экспорт из макса не сложный, я промучился с конвертацией матриц из Matrix3 в свою матрицу. Если возьмешь IGame то все еще больше упростится.
делай 1 способом
освоишь передачу через матрицы можно сделать на кватернионах, в последнем случае уменьшится число констант вершинный шейдер будет чуть сложней, но производительность должна улучшится.
экспорт из макса не сложный, я промучился с конвертацией матриц из Matrix3 в свою матрицу. Если возьмешь IGame то все еще больше упростится.
Зацените 4D Surface Renderer | 24 авг. 2008 | 11:27 | #66 |
---|
L1f
Очень офигенно!
Очень офигенно!
Введение в ДХ11 | 21 авг. 2008 | 22:48 | #2 |
---|
Kick'a'Bit-The
Впечатляет
Впечатляет
Копирование блоков памяти с использованием SSE | 20 авг. 2008 | 22:09 | #32 |
---|
Using buffers size: 128 Mb
Approx. CPU Frequency: 2000 Mhz
Approx. CPU Frequency: 2000 Mhz
RTL memcpy testing:
Pass 1: 681 MB/s
Pass 2: 678 MB/s
Pass 3: 675 MB/s
Pass 4: 676 MB/s
Pass 5: 673 MB/s
Pass 6: 679 MB/s
Pass 7: 677 MB/s
Pass 8: 677 MB/s
Pass 9: 680 MB/s
Pass 10: 672 MB/s
memcpy_fast testing:
Pass 1: 1052 MB/s
Pass 2: 1057 MB/s
Pass 3: 1054 MB/s
Pass 4: 1047 MB/s
Pass 5: 1049 MB/s
Pass 6: 1052 MB/s
Pass 7: 1051 MB/s
Pass 8: 1044 MB/s
Pass 9: 1046 MB/s
Pass 10: 1046 MB/s
memcpy_huge c AMD testing:
Pass 1: 1202 MB/s
Pass 2: 1199 MB/s
Pass 3: 1192 MB/s
Pass 4: 1201 MB/s
Pass 5: 1206 MB/s
Pass 6: 1205 MB/s
Pass 7: 1187 MB/s
Pass 8: 1203 MB/s
Pass 9: 1206 MB/s
Pass 10: 1206 MB/s
Спецификация OpenGL 3 от сегодня! (+инфа в посте №1) | 18 авг. 2008 | 23:41 | #361 |
---|
Джо
>Если использовать Cg, в OpenGL можно компилировать Сg-код и сохранять ASM на выходе (для NVIDIA).
ты имеешь ввиду профили vp40(NV_vertex_program3) и fp40(NV_fragment_program2) то вроде это уже устарело да и не очень хорошее решение. на ATI работать то не будет. В общем в OpenGL с кеширование компиляции шейдеров проблемы.
>Если использовать Cg, в OpenGL можно компилировать Сg-код и сохранять ASM на выходе (для NVIDIA).
ты имеешь ввиду профили vp40(NV_vertex_program3) и fp40(NV_fragment_program2) то вроде это уже устарело да и не очень хорошее решение. на ATI работать то не будет. В общем в OpenGL с кеширование компиляции шейдеров проблемы.
Спецификация OpenGL 3 от сегодня! (+инфа в посте №1) | 15 авг. 2008 | 21:50 | #281 |
---|
0r@ngE
>скачай nvemulate и включи поддержку GL 3
Не пахает :( OpenGL 2.1.2 :(((
>скачай nvemulate и включи поддержку GL 3
Не пахает :( OpenGL 2.1.2 :(((

Спецификация OpenGL 3 от сегодня! (+инфа в посте №1) | 15 авг. 2008 | 10:05 | #214 |
---|
почему возращается NULL указатель на wglCreateContextAttribsARB ?
делаю так: GeForce 8600 GT, Vista, дрова 177_89
Fri Aug 15 10:03:53 2008 Версия OpenGL: 2.1.2 что очень странно :(
вот список расширений:
Fri Aug 15 10:03:53 2008 Доступные расширения OpenGL:GL_ARB_color_buffer_float GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_draw_instanced GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_framebuffer_object GL_ARB_geometry_shader4 GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_shadow GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_float 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_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_bindable_uniform GL_EXT_depth_bounds_test GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_object GL_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters 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_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc 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_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_sRGB GL_EXT_texture_shared_exponent GL_EXT_timer_query GL_EXT_vertex_array GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KTX_buffer_region GL_NV_blend_square GL_NV_copy_depth_to_color GL_NV_depth_buffer_float GL_NV_conditional_render GL_NV_depth_clamp GL_NV_fence GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_framebuffer_multisample_coverage GL_NV_geometry_shader4 GL_NV_gpu_program4 GL_NV_half_float GL_NV_light_max_exponent GL_NV_multisample_coverage GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_parameter_buffer_object GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_texgen_reflection GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_expand_normal GL_NV_texture_rectangle GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_transform_feedback GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NVX_conditional_render GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum GL_WIN_swap_hint WGL_EXT_swap_control
делаю так: GeForce 8600 GT, Vista, дрова 177_89
Fri Aug 15 10:03:53 2008 Версия OpenGL: 2.1.2 что очень странно :(
вот список расширений:
Fri Aug 15 10:03:53 2008 Доступные расширения OpenGL:GL_ARB_color_buffer_float GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_draw_instanced GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_framebuffer_object GL_ARB_geometry_shader4 GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_shadow GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_float 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_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_bindable_uniform GL_EXT_depth_bounds_test GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_object GL_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters 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_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc 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_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_sRGB GL_EXT_texture_shared_exponent GL_EXT_timer_query GL_EXT_vertex_array GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KTX_buffer_region GL_NV_blend_square GL_NV_copy_depth_to_color GL_NV_depth_buffer_float GL_NV_conditional_render GL_NV_depth_clamp GL_NV_fence GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_framebuffer_multisample_coverage GL_NV_geometry_shader4 GL_NV_gpu_program4 GL_NV_half_float GL_NV_light_max_exponent GL_NV_multisample_coverage GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_parameter_buffer_object GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_texgen_reflection GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_expand_normal GL_NV_texture_rectangle GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_transform_feedback GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NVX_conditional_render GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum GL_WIN_swap_hint WGL_EXT_swap_control
Спецификация OpenGL 3 от сегодня! (+инфа в посте №1) | 14 авг. 2008 | 9:47 | #138 |
---|
Джо
какие проблемы с ATI ? :) не поверишь у меня прекрсно работают шейдеры скомпиленные из Cg кода на ATI.
Использовать очень просто. берешь результат компиляции через
cgGetProgramString(cgProgram, CG_COMPILED_PROGRAM); а потом сам компилишь вершинный и пиксельный шейдер + их линковка в слуяае glslv,glslf профилей (в случае arbfp1,arbvp1 еще проще) Единственная заморочка что Cg изменяет имена пременныз в случае GLSL(подставляет к имени переменной __ZZ2S). Я сумел найти эти измененные имена(через функцию, выдирающую измененные имена) запросить через glGetUniformLovationARB и записать их в список констант шейдера. Cg компилятор выдает стандартно компилирующийся код на ATI в случае GLSL(c arbvp1 были проблемы пришлось заменять аттрибут "weight" на "attrib[1]" кто виноват Cg, либо дрова от ATI я так и не понял)
кстати добавят в Cg новые профили с учетом OpenGL 3.0?
какие проблемы с ATI ? :) не поверишь у меня прекрсно работают шейдеры скомпиленные из Cg кода на ATI.
Использовать очень просто. берешь результат компиляции через
cgGetProgramString(cgProgram, CG_COMPILED_PROGRAM); а потом сам компилишь вершинный и пиксельный шейдер + их линковка в слуяае glslv,glslf профилей (в случае arbfp1,arbvp1 еще проще) Единственная заморочка что Cg изменяет имена пременныз в случае GLSL(подставляет к имени переменной __ZZ2S). Я сумел найти эти измененные имена(через функцию, выдирающую измененные имена) запросить через glGetUniformLovationARB и записать их в список констант шейдера. Cg компилятор выдает стандартно компилирующийся код на ATI в случае GLSL(c arbvp1 были проблемы пришлось заменять аттрибут "weight" на "attrib[1]" кто виноват Cg, либо дрова от ATI я так и не понял)
кстати добавят в Cg новые профили с учетом OpenGL 3.0?
Спецификация OpenGL 3 от сегодня! (+инфа в посте №1) | 14 авг. 2008 | 8:53 | #136 |
---|
Джо
>В отличный API от NVIDIA я не верю, они хреново пишут интерфейсы, посмотреть только на Cg run-time...
Cg отличный язык. НЕ используй его run time(только лишняя обертка поверху native вызовами) бери только компиялятор. Почему на PS3 только Cg и asm ? а вот GLSL'я там нет.
>В отличный API от NVIDIA я не верю, они хреново пишут интерфейсы, посмотреть только на Cg run-time...
Cg отличный язык. НЕ используй его run time(только лишняя обертка поверху native вызовами) бери только компиялятор. Почему на PS3 только Cg и asm ? а вот GLSL'я там нет.
Ошибка Direct3D10 | 13 авг. 2008 | 14:02 | #12 |
---|
Booster
FFP удален из Direct3D10 наверняка будут как минимум предупреждения в Debug Output. У меня вообще ничего не отображалось. Даже для текстурнго шрифта я создал 2 шейдера. Функция D3DX10CreateFont вызывае компиляцию шейдеров т.е. даже стандартный шрифт рисуется с шейдером. Так что ничего не будет рисоваться без шейдеров.
FFP удален из Direct3D10 наверняка будут как минимум предупреждения в Debug Output. У меня вообще ничего не отображалось. Даже для текстурнго шрифта я создал 2 шейдера. Функция D3DX10CreateFont вызывае компиляцию шейдеров т.е. даже стандартный шрифт рисуется с шейдером. Так что ничего не будет рисоваться без шейдеров.
Ошибка Direct3D10 | 13 авг. 2008 | 9:38 | #9 |
---|
Проблема решена.
Всем спасибо тема закрыта.
Всем спасибо тема закрыта.
Ошибка Direct3D10 | 12 авг. 2008 | 18:49 | #8 |
---|
Booster
ага точно я попробую поставить флаг компиляции D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY
при условии что не будет функций не поддерживаемых в ps_4_0 типа tex2Dproj.
ага точно я попробую поставить флаг компиляции D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY
при условии что не будет функций не поддерживаемых в ps_4_0 типа tex2Dproj.
Ошибка Direct3D10 | 12 авг. 2008 | 1:44 | #5 |
---|
Booster
>Странно, выводишь из вершинного VS_OUTPUT, а в пиксельный вводишь float2 texCoord: TEXCOORD0.
>Надо бы одинаково.
На структуры компилятору пофигу главное что я пишу в текстурные координаты и передаю их в пиксельный шейдей, а как это делается через объявленную структуру или напрямую не важно, и тем более эти шейдеры в таком виде работают работают в Direct3D9 и в OpenGL (Cg->GL_ARB_fragment_program),Без ошибок.
Ошибка не исчезла кстати после попытки передать в пиксельный шейдер структуру VS_OUTPUT :(
Еще есть варианты?
Insert
чем они мешают?
у меня есть шейдерные параметры где передача есть по номерам регистров. Раз наткнулся на то что компилятор не так распределил регистры.
>Странно, выводишь из вершинного VS_OUTPUT, а в пиксельный вводишь float2 texCoord: TEXCOORD0.
>Надо бы одинаково.
На структуры компилятору пофигу главное что я пишу в текстурные координаты и передаю их в пиксельный шейдей, а как это делается через объявленную структуру или напрямую не важно, и тем более эти шейдеры в таком виде работают работают в Direct3D9 и в OpenGL (Cg->GL_ARB_fragment_program),Без ошибок.
Ошибка не исчезла кстати после попытки передать в пиксельный шейдер структуру VS_OUTPUT :(
Еще есть варианты?
Insert
чем они мешают?
у меня есть шейдерные параметры где передача есть по номерам регистров. Раз наткнулся на то что компилятор не так распределил регистры.
Ошибка Direct3D10 | 11 авг. 2008 | 9:17 | #2 |
---|
Вот шейдера:
uniform float4x4 ViewProjMatrix : WorldViewProj : register(c0); uniform float4x4 MatTexture: register(c4); uniform Texture2D tex1 : register(t0); SamplerState smpState1 : register(s0); uniform Texture2D tex2 : register(t1); SamplerState smpState2 : register(s1); uniform Texture2D ShadowMap : register(t2); SamplerState ShadowMapState : register(s2); /**/ struct VS_OUTPUT { float4 Pos: POSITION; float2 texCoord: TEXCOORD0; //float4 shadowCrd: TEXCOORD1; }; VS_OUTPUT VSmain(float4 Pos: POSITION, float2 texCoord: TEXCOORD0){ VS_OUTPUT Out; Out.Pos = mul(Pos, ViewProjMatrix); //Out.shadowCrd = mul(Pos, MatTexture); Out.texCoord = texCoord; return Out; } float4 PSmain(float2 texCoord: TEXCOORD0/*, float4 shadowCrd: TEXCOORD1*/) : COLOR { #if 0 float4 Color1 = tex1.Sample(smpState1, texCoord); float4 Color2 = tex2.Sample(smpState2, texCoord); float shadow = tex2Dproj(ShadowMap, shadowCrd).r; // The depth of the fragment closest to the light shadow = shadow < shadowCrd.z / shadowCrd.w - 0.001f ? 0.33f : 1.0f; float4 FinalColor = Color1 * Color2; return FinalColor * shadow; #else float4 Color1 = tex1.Sample(smpState1, texCoord); float4 Color2 = tex2.Sample(smpState2, texCoord); float4 FinalColor = Color1 * Color2; return FinalColor; //float2 texcoord = float2(shadowCrd.x / shadowCrd.w, shadowCrd.y / shadowCrd.w); //float shadow = ShadowMap.Sample(ShadowMapState, texcoord).r; //float shadow = tex2Dproj(ShadowMap, shadowCrd).r; //const float ShadowColor = 0.33f; // The depth of the fragment closest to the light //return shadow < shadowCrd.z / shadowCrd.w - 0.001f ? FinalColor * ShadowColor : FinalColor; #endif } |
Ошибка Direct3D10 | 11 авг. 2008 | 3:57 | #0 |
---|
Привет всем. Не могу никак побороть ошибку.
Вот что выдается в Debug:
D3D10: ERROR: ID3D10Device::DrawIndexed: Vertex Shader - Pixel Shader linkage error: Signatures between stages are incompatible. The reason is that Semantic 'TEXCOORD' is defined for mismatched hardware registers between the output stage and input stage. [ EXECUTION ERROR #343: DEVICE_SHADER_LINKAGE_REGISTERINDEX ]
используется простейший вершинный шейдер(позиция * world * view * proj + копирование текстурных координат)
пиксельный просто 2 выборки из 2 текстур и возврат перемноженного цвета. формат вершин: POSITION + Normal + TexCoord.
шейдеры специально упростил.
Кто нибудь сталкивался с такой ошибкой?
Вот что выдается в Debug:
D3D10: ERROR: ID3D10Device::DrawIndexed: Vertex Shader - Pixel Shader linkage error: Signatures between stages are incompatible. The reason is that Semantic 'TEXCOORD' is defined for mismatched hardware registers between the output stage and input stage. [ EXECUTION ERROR #343: DEVICE_SHADER_LINKAGE_REGISTERINDEX ]
используется простейший вершинный шейдер(позиция * world * view * proj + копирование текстурных координат)
пиксельный просто 2 выборки из 2 текстур и возврат перемноженного цвета. формат вершин: POSITION + Normal + TexCoord.
шейдеры специально упростил.
Кто нибудь сталкивался с такой ошибкой?