richarre
![]()
Posts: 16 |
Bonjour, I would like to know if a Filter Forge GPU based render engine is in the pipeline
![]() |
|||||||||
Posted: May 29, 2006 8:26 am | ||||||||||
Vladimir Golovin
Administrator |
Currently no, and I can't say anything about future releases. Look at Aperture's problems with their GPU-based photo editing (or was that Lightroom?) -- simply put, you have different results on different cards and different video drivers. Would be nice for preview purposes though. |
|||||||||
Posted: May 29, 2006 10:56 am | ||||||||||
Hippotizer
![]()
Posts: 34 |
i don't know about what color precision Filter Forge uses internally? probably float or double for each color component?
according to my own experience, pixelshaders would definitely be interesting in terms of performance (hardware accelerated parallel processing!) and precision (double for each color component). using static hadware profiles (e.g. ps_2_0) should usually not lead to different results on different hardware. however, i fully agreee and understand that there are currently other priorities than gpu optimisation. |
|||||||||
Posted: May 29, 2006 11:36 am | ||||||||||
Vladimir Golovin
Administrator |
Double for everything except for bitmap-based components (blurs, sharpens etc) in some cases -- they use Single when they are not plugged into Height input. I agree, a GPU-based rendering would be really sexy, but it requires *huge* architechtural changes and leads to a lot more complicated development (tons of different hardware/driver combos to test on). Anyway, I would not expect that anytime soon. |
|||||||||
Posted: May 29, 2006 12:44 pm | ||||||||||
Hippotizer
![]()
Posts: 34 |
and i forgot: the output of a pixelshader is typically just 32bit (although it processes everything with 4xdouble inside). that means, it would not really be suitable for multiple rendering passes as it is required for a chain of even eonly two components in filter forge. so, it's definitely nothing to head for, at leas tnot in near future!
i also think that the creation of textures is not really a realtime-critical thing. of course speed is appreciated, and considering that everything is done with double already it seems that you have optimised the inner loops pretty well, congrats! ![]() |
|||||||||
Posted: May 29, 2006 12:51 pm | ||||||||||
richarre
![]()
Posts: 16 |
I have Aperture and the only thing that I can say for now is : this is only the beginning...
|
|||||||||
Posted: May 29, 2006 5:11 pm | ||||||||||
Hippotizer
![]()
Posts: 34 |
how do you mean "this is only the beginnning..."?
how does it relate to the gpu discussion? |
|||||||||
Posted: May 29, 2006 10:55 pm | ||||||||||
richarre
![]()
Posts: 16 |
Aperture is the first application of his kind (the second in reality : the "first" one is Core Image Fun House witch comes with every Mac sold with Mac OS 10.4 Tiger).
What I mean is the years to comme will see a lot of vital functions normally computed by the CPU smoothly transfered to the GPU with some "limits" : NVIDIA GeForce 7800 GT OpenGL Engine Vendor Name NVIDIA Corporation Version 1.5 NVIDIA-1.4.18 GL Shading Language Version 1.10 Renderer Name NVIDIA GeForce 7800 GT OpenGL Engine OpenGL Extensions GL_APPLE_client_storage GL_APPLE_element_array GL_APPLE_fence GL_APPLE_float_pixels GL_APPLE_flush_render GL_APPLE_packed_pixels GL_APPLE_pixel_buffer GL_APPLE_specular_vector GL_APPLE_texture_range GL_APPLE_transform_hint GL_APPLE_vertex_array_object GL_APPLE_vertex_array_range GL_APPLE_vertex_program_evaluators GL_APPLE_ycbcr_422 GL_ARB_depth_texture GL_ARB_fragment_program GL_ARB_fragment_shader 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_shader_objects GL_ARB_shading_language_100 GL_ARB_shadow 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_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_blend GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_object GL_EXT_multi_draw_arrays GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc GL_EXT_texture_env_add GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_EXT_texture_rectangle GL_IBM_rasterpos_clip GL_NV_blend_square GL_NV_depth_clamp GL_NV_fog_distance GL_NV_fragment_program2 GL_NV_fragment_program_option GL_NV_light_max_exponent GL_NV_multisample_filter_hint GL_NV_point_sprite GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_texgen_reflection GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod OpenGL Limits Framebuffers MAX_COLOR_ATTACHMENTS_EXT 1 MAX_RENDERBUFFER_SIZE_EXT 4096 MAX_VIEWPORT_DIMS {4096, 4096} MIN_PBUFFER_VIEWPORT_DIMS_APPLE {32, 32} SUBPIXEL_BITS 3 Points and Lines ALIASED_LINE_WIDTH_RANGE {1, 10} ALIASED_POINT_SIZE_RANGE {1, 63} SMOOTH_LINE_WIDTH_GRANULARITY 0.125000 SMOOTH_LINE_WIDTH_RANGE {0.500000, 10.000000} SMOOTH_POINT_SIZE_GRANULARITY 0.125000 SMOOTH_POINT_SIZE_RANGE {1.000000, 63.375000} Textures MAX_3D_TEXTURE_SIZE 4096 MAX_CUBE_MAP_TEXTURE_SIZE 4096 MAX_RECTANGLE_TEXTURE_SIZE_EXT 4096 MAX_TEXTURE_SIZE 4096 MAX_TEXTURE_LOD_BIAS 16.000000 MAX_TEXTURE_MAX_ANISOTROPY_EXT 16 MAX_TEXTURE_UNITS 4 Compression Types COMPRESSED_RGB_S3TC_DXT1_EXT COMPRESSED_RGBA_S3TC_DXT3_EXT COMPRESSED_RGBA_S3TC_DXT5_EXT Stacks MAX_ATTRIB_STACK_DEPTH 16 MAX_CLIENT_ATTRIB_STACK_DEPTH 16 MAX_COLOR_MATRIX_STACK_DEPTH 5 MAX_MODELVIEW_STACK_DEPTH 32 MAX_NAME_STACK_DEPTH 100 MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 2 MAX_PROJECTION_STACK_DEPTH 5 MAX_TEXTURE_STACK_DEPTH 5 Vertex Programs MAX_PROGRAM_ADDRESS_REGISTERS_ARB 2 MAX_PROGRAM_ATTRIBS_ARB 32 MAX_PROGRAM_ENV_PARAMETERS_ARB 256 MAX_PROGRAM_INSTRUCTIONS_ARB 32768 MAX_PROGRAM_LOCAL_PARAMETERS_ARB 256 MAX_PROGRAM_MATRICES_ARB 8 MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 2 MAX_PROGRAM_NATIVE_ATTRIBS_ARB 16 MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 512 MAX_PROGRAM_NATIVE_PARAMETERS_ARB 256 MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 48 MAX_PROGRAM_PARAMETERS_ARB 256 MAX_PROGRAM_TEMPORARIES_ARB 256 MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 65536 MAX_PROGRAM_CALL_DEPTH_NV 8 MAX_VERTEX_ATTRIBS_ARB 16 Fragment Programs MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 4096 MAX_PROGRAM_ATTRIBS_ARB 16 MAX_PROGRAM_ENV_PARAMETERS_ARB 128 MAX_PROGRAM_INSTRUCTIONS_ARB 4096 MAX_PROGRAM_LOCAL_PARAMETERS_ARB 128 MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 4096 MAX_PROGRAM_NATIVE_ATTRIBS_ARB 16 MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 4096 MAX_PROGRAM_NATIVE_PARAMETERS_ARB 128 MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 32 MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 4096 MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 4096 MAX_PROGRAM_PARAMETERS_ARB 128 MAX_PROGRAM_TEMPORARIES_ARB 32 MAX_PROGRAM_TEX_INDIRECTIONS_ARB 4096 MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 4096 MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 65536 MAX_PROGRAM_CALL_DEPTH_NV 4 MAX_PROGRAM_IF_DEPTH_NV 48 MAX_PROGRAM_LOOP_DEPTH_NV 4 MAX_PROGRAM_LOOP_COUNT_NV 255 MAX_TEXTURE_COORDS_ARB 8 MAX_TEXTURE_IMAGE_UNITS_ARB 16 Shaders MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 16 MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 512 MAX_TEXTURE_COORDS_ARB 8 MAX_TEXTURE_IMAGE_UNITS_ARB 16 MAX_VARYING_FLOATS_ARB 32 MAX_VERTEX_ATTRIBS_ARB 16 MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0 MAX_VERTEX_UNIFORM_COMPONENTS_ARB 512 Other MAX_CLIP_PLANES 6 MAX_CONVOLUTION_HEIGHT 11 MAX_CONVOLUTION_WIDTH 11 MAX_ELEMENTS_INDICES 150000 MAX_ELEMENTS_VERTICES 2048 MAX_EVAL_ORDER 10 MAX_GENERAL_COMBINERS_NV 8 MAX_LIGHTS 8 MAX_LIST_NESTING 64 MAX_PIXEL_MAP_TABLE 256 MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0 MAX_SHININESS_NV 1024 MAX_SPOT_EXPONENT_NV 1024 MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE 1048575 MAX_VERTEX_UNITS_ARB 4 QUERY_COUNTER_BITS_ARB 32 Display Mask 1 (0x00000001) Renderer ID 140298 (0x0002240a) Off Screen No Full Screen Yes Hardware Accelerated Yes Robust No Backing Store No MP Safe Yes Window Yes Multi Screen No Compliant Yes Buffer Modes 15 (0x0000000f) Monoscopic Yes Stereoscopic Yes Single Buffer Yes Double Buffer Yes Color Buffer Modes 167805440 (0x0a008200) 16 bits/pixel rgb --not available-- 16 bits/pixel argb --not available-- 8-16 bits/pixel argb --not available-- 16 bits/pixel rgb R=14:10, G=9:5, B=4:0 16 bits/pixel argb --not available-- 8-16 bits/pixel argb --not available-- 16 bits/pixel rgb --not available-- 8-16 bits/pixel argb --not available-- 32 bits/pixel rgb --not available-- 32 bits/pixel argb A=31:24, R=23:16, G=15:8, B=7:0 8-32 bits/pixel argb --not available-- 32 bits/pixel rgb --not available-- 32 bits/pixel argb --not available-- 8-32 bits/pixel argb --not available-- 64 bits/pixel rgb --not available-- 64 bits/pixel argb --not available-- 64 bits/pixel rgb --not available-- 64 bits/pixel argb --not available-- 64 bits/pixel float rgb --not available-- 64 bits/pixel float rgba R=63:48 G=47:32 B=31:16 A=15:0; APPLE_float_pixels floating point 128 bits/pixel float rgb --not available-- 128 bits/pixel float rgba R=127:96 G=95:64, B=63:32, A=31:0; IEEE-754 single-precision floating point 256 bits/pixel float rgb --not available-- 256 bits/pixel float rgba --not available-- Accum Buffer Modes 8421376 (0x00808000) 16 bits/pixel rgb --not available-- 16 bits/pixel argb --not available-- 8-16 bits/pixel argb --not available-- 16 bits/pixel rgb --not available-- 16 bits/pixel argb --not available-- 8-16 bits/pixel argb --not available-- 16 bits/pixel rgb --not available-- 8-16 bits/pixel argb --not available-- 32 bits/pixel rgb --not available-- 32 bits/pixel argb A=31:24, R=23:16, G=15:8, B=7:0 8-32 bits/pixel argb --not available-- 32 bits/pixel rgb --not available-- 32 bits/pixel argb --not available-- 8-32 bits/pixel argb --not available-- 64 bits/pixel rgb --not available-- 64 bits/pixel argb --not available-- 64 bits/pixel rgb --not available-- 64 bits/pixel argb A=63:48, R=47:32, G=31:16, B=15:0 64 bits/pixel float rgb --not available-- 64 bits/pixel float rgba --not available-- 128 bits/pixel float rgb --not available-- 128 bits/pixel float rgba --not available-- 256 bits/pixel float rgb --not available-- 256 bits/pixel float rgba --not available-- Depth Buffer Modes 3073 (0x00000c01) 0 bits per pixel Yes 1 bits per pixel No 2 bits per pixel No 3 bits per pixel No 4 bits per pixel No 5 bits per pixel No 6 bits per pixel No 8 bits per pixel No 10 bits per pixel No 12 bits per pixel No 16 bits per pixel Yes 24 bits per pixel Yes 32 bits per pixel No 48 bits per pixel No 64 bits per pixel No 96 bits per pixel No 128 bits per pixel No Stencil Buffer Modes 128 (0x00000080) 0 bits per pixel No 1 bits per pixel No 2 bits per pixel No 3 bits per pixel No 4 bits per pixel No 5 bits per pixel No 6 bits per pixel No 8 bits per pixel Yes 10 bits per pixel No 12 bits per pixel No 16 bits per pixel No 24 bits per pixel No 32 bits per pixel No 48 bits per pixel No 64 bits per pixel No 96 bits per pixel No 128 bits per pixel No Max Aux Buffers 2 (0x00000002) Max Sample Buffers 1 (0x00000001) Max Samples 4 (0x00000004) Sample Modes 1 (0x00000001) Supersample Yes Multisample No Alpha Sampling Yes Total Video Memory 268435456 (0x10000000) Total Texture Memory 256729088 (0x0f4d6000) Generic Vendor Name Apple Version 1.1 APPLE-1.1 GL Shading Language Version 1.10 Renderer Name Generic OpenGL Extensions GL_APPLE_client_storage GL_APPLE_element_array GL_APPLE_fence GL_APPLE_flush_render GL_APPLE_packed_pixels GL_APPLE_specular_vector GL_APPLE_transform_hint GL_APPLE_vertex_array_object GL_APPLE_vertex_program_evaluators GL_APPLE_ycbcr_422 GL_ARB_imaging GL_ARB_multitexture GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_transpose_matrix GL_ARB_vertex_blend 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_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_rescale_normal GL_EXT_texture_env_add GL_EXT_texture_lod_bias GL_IBM_rasterpos_clip GL_NV_light_max_exponent GL_NV_texgen_reflection GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp OpenGL Limits Framebuffers MAX_COLOR_ATTACHMENTS_EXT 1 MAX_RENDERBUFFER_SIZE_EXT 2048 MAX_VIEWPORT_DIMS {2048, 2048} MIN_PBUFFER_VIEWPORT_DIMS_APPLE {0, 0} SUBPIXEL_BITS 3 Points and Lines ALIASED_LINE_WIDTH_RANGE {1, 10} ALIASED_POINT_SIZE_RANGE {1, 50} SMOOTH_LINE_WIDTH_GRANULARITY 0.100000 SMOOTH_LINE_WIDTH_RANGE {0.100000, 10.000000} SMOOTH_POINT_SIZE_GRANULARITY 0.000100 SMOOTH_POINT_SIZE_RANGE {0.100000, 50.000000} Textures MAX_3D_TEXTURE_SIZE 0 MAX_CUBE_MAP_TEXTURE_SIZE 0 MAX_RECTANGLE_TEXTURE_SIZE_EXT 0 MAX_TEXTURE_SIZE 4096 MAX_TEXTURE_LOD_BIAS 0.000000 MAX_TEXTURE_MAX_ANISOTROPY_EXT 1 MAX_TEXTURE_UNITS 8 Compression Types (None) Stacks MAX_ATTRIB_STACK_DEPTH 16 MAX_CLIENT_ATTRIB_STACK_DEPTH 16 MAX_COLOR_MATRIX_STACK_DEPTH 5 MAX_MODELVIEW_STACK_DEPTH 32 MAX_NAME_STACK_DEPTH 100 MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 2 MAX_PROJECTION_STACK_DEPTH 5 MAX_TEXTURE_STACK_DEPTH 5 Vertex Programs MAX_PROGRAM_ADDRESS_REGISTERS_ARB 2 MAX_PROGRAM_ATTRIBS_ARB 32 MAX_PROGRAM_ENV_PARAMETERS_ARB 256 MAX_PROGRAM_INSTRUCTIONS_ARB 32768 MAX_PROGRAM_LOCAL_PARAMETERS_ARB 256 MAX_PROGRAM_MATRICES_ARB 8 MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0 MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0 MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0 MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0 MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0 MAX_PROGRAM_PARAMETERS_ARB 256 MAX_PROGRAM_TEMPORARIES_ARB 256 MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0 MAX_PROGRAM_CALL_DEPTH_NV 0 MAX_VERTEX_ATTRIBS_ARB 16 Fragment Programs MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0 MAX_PROGRAM_ATTRIBS_ARB 0 MAX_PROGRAM_ENV_PARAMETERS_ARB 128 MAX_PROGRAM_INSTRUCTIONS_ARB 0 MAX_PROGRAM_LOCAL_PARAMETERS_ARB 128 MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0 MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0 MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0 MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0 MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0 MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0 MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0 MAX_PROGRAM_PARAMETERS_ARB 0 MAX_PROGRAM_TEMPORARIES_ARB 0 MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0 MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0 MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0 MAX_PROGRAM_CALL_DEPTH_NV 0 MAX_PROGRAM_IF_DEPTH_NV 0 MAX_PROGRAM_LOOP_DEPTH_NV 0 MAX_PROGRAM_LOOP_COUNT_NV 0 MAX_TEXTURE_COORDS_ARB 8 MAX_TEXTURE_IMAGE_UNITS_ARB 8 Shaders MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 16 MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 512 MAX_TEXTURE_COORDS_ARB 8 MAX_TEXTURE_IMAGE_UNITS_ARB 8 MAX_VARYING_FLOATS_ARB 32 MAX_VERTEX_ATTRIBS_ARB 16 MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0 MAX_VERTEX_UNIFORM_COMPONENTS_ARB 512 Other MAX_CLIP_PLANES 6 MAX_CONVOLUTION_HEIGHT 11 MAX_CONVOLUTION_WIDTH 11 MAX_ELEMENTS_INDICES 150000 MAX_ELEMENTS_VERTICES 1000 MAX_EVAL_ORDER 10 MAX_GENERAL_COMBINERS_NV 0 MAX_LIGHTS 8 MAX_LIST_NESTING 64 MAX_PIXEL_MAP_TABLE 256 MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0 MAX_SHININESS_NV 128 MAX_SPOT_EXPONENT_NV 128 MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE 0 MAX_VERTEX_UNITS_ARB 0 QUERY_COUNTER_BITS_ARB 0 Display Mask 1 (0x00000001) Renderer ID 131584 (0x00020200) Off Screen Yes Full Screen No Hardware Accelerated No Robust Yes Backing Store Yes MP Safe Yes Window Yes Multi Screen Yes Compliant Yes Buffer Modes 13 (0x0000000d) Monoscopic Yes Stereoscopic No Single Buffer Yes Double Buffer Yes Color Buffer Modes 51712 (0x0000ca00) 16 bits/pixel rgb --not available-- 16 bits/pixel argb --not available-- 8-16 bits/pixel argb --not available-- 16 bits/pixel rgb R=14:10, G=9:5, B=4:0 16 bits/pixel argb --not available-- 8-16 bits/pixel argb A=7:0, R=14:10, G=9:5, B=4:0 16 bits/pixel rgb --not available-- 8-16 bits/pixel argb --not available-- 32 bits/pixel rgb R=23:16, G=15:8, B=7:0 32 bits/pixel argb A=31:24, R=23:16, G=15:8, B=7:0 8-32 bits/pixel argb --not available-- 32 bits/pixel rgb --not available-- 32 bits/pixel argb --not available-- 8-32 bits/pixel argb --not available-- 64 bits/pixel rgb --not available-- 64 bits/pixel argb --not available-- 64 bits/pixel rgb --not available-- 64 bits/pixel argb --not available-- 64 bits/pixel float rgb --not available-- 64 bits/pixel float rgba --not available-- 128 bits/pixel float rgb --not available-- 128 bits/pixel float rgba --not available-- 256 bits/pixel float rgb --not available-- 256 bits/pixel float rgba --not available-- Accum Buffer Modes 12632064 (0x00c0c000) 16 bits/pixel rgb --not available-- 16 bits/pixel argb --not available-- 8-16 bits/pixel argb --not available-- 16 bits/pixel rgb --not available-- 16 bits/pixel argb --not available-- 8-16 bits/pixel argb --not available-- 16 bits/pixel rgb --not available-- 8-16 bits/pixel argb --not available-- 32 bits/pixel rgb R=23:16, G=15:8, B=7:0 32 bits/pixel argb A=31:24, R=23:16, G=15:8, B=7:0 8-32 bits/pixel argb --not available-- 32 bits/pixel rgb --not available-- 32 bits/pixel argb --not available-- 8-32 bits/pixel argb --not available-- 64 bits/pixel rgb --not available-- 64 bits/pixel argb --not available-- 64 bits/pixel rgb R=47:32, G=31:16, B=15:0 64 bits/pixel argb A=63:48, R=47:32, G=31:16, B=15:0 64 bits/pixel float rgb --not available-- 64 bits/pixel float rgba --not available-- 128 bits/pixel float rgb --not available-- 128 bits/pixel float rgba --not available-- 256 bits/pixel float rgb --not available-- 256 bits/pixel float rgba --not available-- Depth Buffer Modes 5121 (0x00001401) 0 bits per pixel Yes 1 bits per pixel No 2 bits per pixel No 3 bits per pixel No 4 bits per pixel No 5 bits per pixel No 6 bits per pixel No 8 bits per pixel No 10 bits per pixel No 12 bits per pixel No 16 bits per pixel Yes 24 bits per pixel No 32 bits per pixel Yes 48 bits per pixel No 64 bits per pixel No 96 bits per pixel No 128 bits per pixel No Stencil Buffer Modes 129 (0x00000081) 0 bits per pixel Yes 1 bits per pixel No 2 bits per pixel No 3 bits per pixel No 4 bits per pixel No 5 bits per pixel No 6 bits per pixel No 8 bits per pixel Yes 10 bits per pixel No 12 bits per pixel No 16 bits per pixel No 24 bits per pixel No 32 bits per pixel No 48 bits per pixel No 64 bits per pixel No 96 bits per pixel No 128 bits per pixel No Max Aux Buffers 4 (0x00000004) Max Sample Buffers 0 (0x00000000) Max Samples 0 (0x00000000) Sample Modes 0 (0x00000000) Supersample No Multisample No Alpha Sampling No Total Video Memory 0 (0x00000000) Total Texture Memory 0 (0x00000000) Apple Software Renderer Vendor Name Apple Computer, Inc. Version 1.2.1 APPLE GL Shading Language Version 1.10 Renderer Name Apple Software Renderer OpenGL Extensions GL_APPLE_client_storage GL_APPLE_element_array GL_APPLE_fence GL_APPLE_float_pixels GL_APPLE_flush_render GL_APPLE_packed_pixels GL_APPLE_specular_vector GL_APPLE_transform_hint GL_APPLE_vertex_array_object GL_APPLE_vertex_program_evaluators GL_APPLE_ycbcr_422 GL_ARB_fragment_program GL_ARB_fragment_shader GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_border_clamp GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_blend GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_ATI_texture_float 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_clip_volume_hint GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_stencil_wrap GL_EXT_texture_env_add GL_EXT_texture_lod_bias GL_EXT_texture_rectangle GL_IBM_rasterpos_clip GL_NV_blend_square GL_NV_light_max_exponent GL_NV_texgen_reflection GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp OpenGL Limits Framebuffers MAX_COLOR_ATTACHMENTS_EXT 1 MAX_RENDERBUFFER_SIZE_EXT 16384 MAX_VIEWPORT_DIMS {16384, 16384} MIN_PBUFFER_VIEWPORT_DIMS_APPLE {0, 0} SUBPIXEL_BITS 3 Points and Lines ALIASED_LINE_WIDTH_RANGE {1, 10} ALIASED_POINT_SIZE_RANGE {1, 50} SMOOTH_LINE_WIDTH_GRANULARITY 0.100000 SMOOTH_LINE_WIDTH_RANGE {0.100000, 10.000000} SMOOTH_POINT_SIZE_GRANULARITY 0.000100 SMOOTH_POINT_SIZE_RANGE {0.100000, 50.000000} Textures MAX_3D_TEXTURE_SIZE 16384 MAX_CUBE_MAP_TEXTURE_SIZE 0 MAX_RECTANGLE_TEXTURE_SIZE_EXT 16384 MAX_TEXTURE_SIZE 16384 MAX_TEXTURE_LOD_BIAS 16.000000 MAX_TEXTURE_MAX_ANISOTROPY_EXT 1 MAX_TEXTURE_UNITS 8 Compression Types (None) Stacks MAX_ATTRIB_STACK_DEPTH 16 MAX_CLIENT_ATTRIB_STACK_DEPTH 16 MAX_COLOR_MATRIX_STACK_DEPTH 5 MAX_MODELVIEW_STACK_DEPTH 32 MAX_NAME_STACK_DEPTH 100 MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 2 MAX_PROJECTION_STACK_DEPTH 5 MAX_TEXTURE_STACK_DEPTH 5 Vertex Programs MAX_PROGRAM_ADDRESS_REGISTERS_ARB 2 MAX_PROGRAM_ATTRIBS_ARB 32 MAX_PROGRAM_ENV_PARAMETERS_ARB 256 MAX_PROGRAM_INSTRUCTIONS_ARB 32768 MAX_PROGRAM_LOCAL_PARAMETERS_ARB 256 MAX_PROGRAM_MATRICES_ARB 8 MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 1 MAX_PROGRAM_NATIVE_ATTRIBS_ARB 32 MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 32768 MAX_PROGRAM_NATIVE_PARAMETERS_ARB 256 MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 256 MAX_PROGRAM_PARAMETERS_ARB 256 MAX_PROGRAM_TEMPORARIES_ARB 256 MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 65536 MAX_PROGRAM_CALL_DEPTH_NV 32768 MAX_VERTEX_ATTRIBS_ARB 16 Fragment Programs MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 32768 MAX_PROGRAM_ATTRIBS_ARB 32 MAX_PROGRAM_ENV_PARAMETERS_ARB 128 MAX_PROGRAM_INSTRUCTIONS_ARB 32768 MAX_PROGRAM_LOCAL_PARAMETERS_ARB 128 MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 32768 MAX_PROGRAM_NATIVE_ATTRIBS_ARB 32 MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 32768 MAX_PROGRAM_NATIVE_PARAMETERS_ARB 128 MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 256 MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 32768 MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 32768 MAX_PROGRAM_PARAMETERS_ARB 128 MAX_PROGRAM_TEMPORARIES_ARB 256 MAX_PROGRAM_TEX_INDIRECTIONS_ARB 32768 MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 32768 MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 65536 MAX_PROGRAM_CALL_DEPTH_NV 32768 MAX_PROGRAM_IF_DEPTH_NV 32768 MAX_PROGRAM_LOOP_DEPTH_NV 32768 MAX_PROGRAM_LOOP_COUNT_NV 32768 MAX_TEXTURE_COORDS_ARB 8 MAX_TEXTURE_IMAGE_UNITS_ARB 8 Shaders MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 16 MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 512 MAX_TEXTURE_COORDS_ARB 8 MAX_TEXTURE_IMAGE_UNITS_ARB 8 MAX_VARYING_FLOATS_ARB 32 MAX_VERTEX_ATTRIBS_ARB 16 MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0 MAX_VERTEX_UNIFORM_COMPONENTS_ARB 512 Other MAX_CLIP_PLANES 6 MAX_CONVOLUTION_HEIGHT 11 MAX_CONVOLUTION_WIDTH 11 MAX_ELEMENTS_INDICES 150000 MAX_ELEMENTS_VERTICES 1000 MAX_EVAL_ORDER 10 MAX_GENERAL_COMBINERS_NV 0 MAX_LIGHTS 8 MAX_LIST_NESTING 64 MAX_PIXEL_MAP_TABLE 256 MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0 MAX_SHININESS_NV 128 MAX_SPOT_EXPONENT_NV 128 MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE 0 MAX_VERTEX_UNITS_ARB 0 QUERY_COUNTER_BITS_ARB 0 Display Mask 1 (0x00000001) Renderer ID 132096 (0x00020400) Off Screen Yes Full Screen No Hardware Accelerated No Robust Yes Backing Store Yes MP Safe Yes Window Yes Multi Screen Yes Compliant Yes Buffer Modes 13 (0x0000000d) Monoscopic Yes Stereoscopic No Single Buffer Yes Double Buffer Yes Color Buffer Modes 201375744 (0x0c00c000) 16 bits/pixel rgb --not available-- 16 bits/pixel argb --not available-- 8-16 bits/pixel argb --not available-- 16 bits/pixel rgb --not available-- 16 bits/pixel argb --not available-- 8-16 bits/pixel argb --not available-- 16 bits/pixel rgb --not available-- 8-16 bits/pixel argb --not available-- 32 bits/pixel rgb R=23:16, G=15:8, B=7:0 32 bits/pixel argb A=31:24, R=23:16, G=15:8, B=7:0 8-32 bits/pixel argb --not available-- 32 bits/pixel rgb --not available-- 32 bits/pixel argb --not available-- 8-32 bits/pixel argb --not available-- 64 bits/pixel rgb --not available-- 64 bits/pixel argb --not available-- 64 bits/pixel rgb --not available-- 64 bits/pixel argb --not available-- 64 bits/pixel float rgb --not available-- 64 bits/pixel float rgba --not available-- 128 bits/pixel float rgb R=95:64, G=63:32, B=31:0; IEEE-754 single-precision floating point 128 bits/pixel float rgba R=127:96 G=95:64, B=63:32, A=31:0; IEEE-754 single-precision floating point 256 bits/pixel float rgb --not available-- 256 bits/pixel float rgba --not available-- Accum Buffer Modes 142639104 (0x08808000) 16 bits/pixel rgb --not available-- 16 bits/pixel argb --not available-- 8-16 bits/pixel argb --not available-- 16 bits/pixel rgb --not available-- 16 bits/pixel argb --not available-- 8-16 bits/pixel argb --not available-- 16 bits/pixel rgb --not available-- 8-16 bits/pixel argb --not available-- 32 bits/pixel rgb --not available-- 32 bits/pixel argb A=31:24, R=23:16, G=15:8, B=7:0 8-32 bits/pixel argb --not available-- 32 bits/pixel rgb --not available-- 32 bits/pixel argb --not available-- 8-32 bits/pixel argb --not available-- 64 bits/pixel rgb --not available-- 64 bits/pixel argb --not available-- 64 bits/pixel rgb --not available-- 64 bits/pixel argb A=63:48, R=47:32, G=31:16, B=15:0 64 bits/pixel float rgb --not available-- 64 bits/pixel float rgba --not available-- 128 bits/pixel float rgb --not available-- 128 bits/pixel float rgba R=127:96 G=95:64, B=63:32, A=31:0; IEEE-754 single-precision floating point 256 bits/pixel float rgb --not available-- 256 bits/pixel float rgba --not available-- Depth Buffer Modes 4096 (0x00001000) 0 bits per pixel No 1 bits per pixel No 2 bits per pixel No 3 bits per pixel No 4 bits per pixel No 5 bits per pixel No 6 bits per pixel No 8 bits per pixel No 10 bits per pixel No 12 bits per pixel No 16 bits per pixel No 24 bits per pixel No 32 bits per pixel Yes 48 bits per pixel No 64 bits per pixel No 96 bits per pixel No 128 bits per pixel No Stencil Buffer Modes 129 (0x00000081) 0 bits per pixel Yes 1 bits per pixel No 2 bits per pixel No 3 bits per pixel No 4 bits per pixel No 5 bits per pixel No 6 bits per pixel No 8 bits per pixel Yes 10 bits per pixel No 12 bits per pixel No 16 bits per pixel No 24 bits per pixel No 32 bits per pixel No 48 bits per pixel No 64 bits per pixel No 96 bits per pixel No 128 bits per pixel No Max Aux Buffers 4 (0x00000004) Max Sample Buffers 1 (0x00000001) Max Samples 16 (0x00000010) Sample Modes 3 (0x00000003) Supersample Yes Multisample Yes Alpha Sampling Yes Total Video Memory 0 (0x00000000) Total Texture Memory 0 (0x00000000) For those who don't know I can make a little demo of what a GPU can bring to an application like FF by making a quick overview of Core Image Fun House... |
|||||||||
Posted: May 30, 2006 1:00 am | ||||||||||
Hippotizer
![]()
Posts: 34 |
well, let's agree that GPU is an interesting thing. you don't need to make a demo for me, pixelshader coding (directx) is my daily job...
![]() i personally don't think that the success of FilterForge depends that much on GPU optimizations at the moment. i see other priorities that will have a bigger impact: - manual & tutorials - new components - pure GUI related workflow improvements - a bugtracking system (e.g. Bugzilla?) - plugin interface - community related topics, e.g. better forums (e.g. phpBB), sharing zones of howto-filters etc |
|||||||||
Posted: May 30, 2006 1:09 am | ||||||||||
Vladimir Golovin
Administrator |
Fogbugz is way, way better ![]() |
|||||||||
Posted: May 30, 2006 2:14 am | ||||||||||
Hippotizer
![]()
Posts: 34 |
I am delighted to hear that you use FogBugz! I just didn't dare to suggest something commercial!
|
|||||||||
Posted: May 30, 2006 2:25 am | ||||||||||
richarre
![]()
Posts: 16 |
Hippotizer, are you a programmer or a designer or both of them ? I have looked at your website and it seems that you play all day long with realtime applications : why not the rest of us ?
![]() I am tired to wait for software that thinking to much... when some big guys on the motherboard can help ![]() Why recreate the wheel now that we can "Fly" ? Even those guys are using Core Image (at last!!!) : http://www.arkaos.net/software/vjhw_description.php And new ones are making miracles... : http://eskatonia.net/qcblog/quartz-composer-for-vjs/ So I am an "end-user" : the faster the better, not you ? |
|||||||||
Posted: May 30, 2006 5:57 pm | ||||||||||
richarre
![]()
Posts: 16 |
I am a realtime lover =)
|
|||||||||
Posted: May 30, 2006 5:59 pm | ||||||||||
Hippotizer
![]()
Posts: 34 |
i am mainly a programmer (and not that much a user) since many years, with quite some experience and skills in realtime/nonrealtime graphics and also common windows programming.
yes, there are many cool realtime graphics / VJ software available, and they all are more or less optimised for speed, with or without GPU. i even started my own blog to write about exactly this topic: http://healthygeek.blogspot.com/ filterforge wants to create filters, and it want's to do that in highest possible quality rather than highest possible speed (and you can never have both). maybe some day we will get some HLSL-scripting components which would be very cool and funny (especially for coders like me) of course, but right now i fully understand if the developers decide to focus on other priorities. |
|||||||||
Posted: May 31, 2006 1:22 am | ||||||||||
onyXMaster
Posts: 350 |
GPU-assisted calculations may help only in certain, limited components (blur, some noises ... that's all), and will kill scalability on multiple CPUs (current GPUs and APIs to them aren't coping well with multiple _rendering_ threads).
Also, my POV on the future directions of hardware evolution up to 2010 is that we'll have systems which will support 16-32 hardware threads (16 cores), probably 8-core GPUs with different cores (say 2 base rendering, 4 custom geometry processing like Cell SPEs, 2 post processing for DX10-like render targets). Offloading tasks to GPU in such environment requires a lot of effort without great benefits (not only the architecture needs change, the algorithms of components themselves aren't very suited for GPU-based implementation). The summary is that we prefer CPU-based scaling with number of processors instead of GPU-based optimizations, which in turn bring a lot of compatibility problems (known very good to game developers) -- multicore CPUs are becoming commodity hardware, while high-end 3D accelerators supporting latest-and-greatest shaders are not. |
|||||||||
Posted: May 31, 2006 1:35 am | ||||||||||
Hippotizer
![]()
Posts: 34 |
to be more precise: GPU-assisted calculations would help for all "per pixel" algorithms, and i would say that are probably more than 95%. however, a real performance boost must only be expected if 100% of all components would work on the GPU and not accessing system memory at all. as long as there are components in a chain of components that don't directly read from/to gfx-memory the memoryblocks must be transferred from systemmemory to gfx-memory, and this will then become the ultimate bottleneck.
well, you can say the same about GPUs, but GPUs are already much more optimised for parallel processing.
yes, the change of architecture is an extremely strong argument. since everybody is so excited about Filter Forge, why change it? ![]()
Is it possible that you simply are more experienced with CPU-based programming rather than GPU programming? Maybe you underestimate the possibilities and power of GPU a little bit. But your overall conclusion to go the CPU-way was still not a bad one! ![]() |
|||||||||
Posted: May 31, 2006 1:53 am | ||||||||||
onyXMaster
Posts: 350 |
The only "per-pixel" components in Filter Forge are Blur and it's derivatives - Sharpen and High Pass. There will be more "per-pixel" algorithms in the future of course
![]() The only way to eliminate excessive CPU-GPU interaction is to offload entire sampling and rendering to GPU, which is unacceptable since most core code must be rewritten from scratch. "...but GPUs are already much more optimised for parallel processing." This is a common misconception - the difference isn't that GPUs are "more optimized" or "less optimized" for parallel processing, its that GPUs are mostly implicitly parallel (data parallelism), while CPUs are mostly explicitly parallel (code parallelism, not taking out-of-order execution and pipelining/execution ports here). It's just easier to take advantage of parallel processing on a GPU - it just happens automatically unless you introduce unnecessary dependencies or stalls ![]() Well, looks like I'm about to delve into advantages of functional programming for automatic parallelism (which looks like a hot topic these days), so I'll summarize: Don't expect GPU-assisted rendering at least until v3.0 or so ![]() |
|||||||||
Posted: May 31, 2006 3:58 am | ||||||||||
Hippotizer
![]()
Posts: 34 |
100% understood and accepted!
![]() |
|||||||||
Posted: May 31, 2006 4:03 am | ||||||||||
richarre
![]()
Posts: 16 |
That's sounds nice to me : the 3.0 will at last/least available for Mac OS X
![]() Until this date I hope that fF will be massively optimized for my G5 Quad with SIMD/Altivec boost (Procedurals need floating points, right ?) Can not wait to play with it on my Mac!!! ![]() ![]() |
|||||||||
Posted: May 31, 2006 5:52 am | ||||||||||
richarre
![]()
Posts: 16 |
onyXMaster / Hippotizer can you help me to understand something :
how an application like Aperture can manipulate an image with a size that is bigger than 4096 pixels wide ? Is that mean that the application loads the image in the GPU, make a "compression" or are we (the final users) just seeing a kind of "proxy" ? Or is this a shared memory between the GPU and the motherboard that works together ? How can I load a 22M pixels DNG file with an hardware "limited" by 4 MAX_TEXTURE_UNITS (@4096 pixels each ?) ![]() |
|||||||||
Posted: May 31, 2006 6:02 am | ||||||||||
Hippotizer
![]()
Posts: 34 |
yes, probably it makes multiple 4096x4096 memory blocks.
|
|||||||||
Posted: May 31, 2006 6:23 am | ||||||||||
StevieJ
![]() |
Very useful info here.....
![]() Steve
"Buzzards gotta eat...same as worms..." - Clint :) |
|||||||||
Posted: May 28, 2009 11:50 am | ||||||||||
Totte
![]() |
I think the other obvious route is to use OpenCL (not OpenGL), to use the GPUs cores to run pure logic in.
That would speed up the rendering a lot, up to 30 times if you have a fast GPU, only using it for pure computation, which does not change between hardware. - I never expected the Spanish inquisition |
|||||||||
Posted: August 2, 2009 11:54 pm | ||||||||||
richarre
![]()
Posts: 16 |
Hi, Totte - the Mac Users will need to wait for Mac OS X Snow Leopard to see that magic happen. Don't know if Microsoft is on the train this time...
![]() |
|||||||||
Posted: August 3, 2009 3:08 am | ||||||||||
Totte
![]() |
10.6 will ship soon (within a month). I like rendering on my 16 core Mac Pro anyways
![]() - I never expected the Spanish inquisition |
|||||||||
Posted: August 3, 2009 3:22 am | ||||||||||
SpaceRay
![]() |
It is curious that this thread is of 2006 !!!! And they were already asking for a Filter Forge GPU based render engine
![]() ![]() Nothing was said in 3 years until StevieJ resurrected this thread and then Totte on August 2009 On october 2009 I could see this thread --> OpenCL/CUDA acceleration http://www.filterforge.com/forum/read...9&TID=6797 Then on 30 of May 2011,exactly 5 years after the first post, AMD Betting Everything on OpenCL to try to beat the great imperium of Nvidia CUDA that is really growing and growing. AMD Betting Everything on OpenCL --->http://www.bit-tech.net/hardware/cpus...n-opencl/1 On June 2011 Intel announced that they will take another way, and will have the GPU acceleration inside the CPU and if I understand well they do not depend on openCL or CUDA, as they will get their own GPU accelleration. http://arstechnica.com/business/news/...-intel.ars And now in July 2011 we know that Filter Forge will NOT have any kind of OpenGL, OpenCL, CUDA or any kind of GPU Hardware acceleration as confirmed by Vladimir Golovin, but the hope is to use the next Intel hardware to be able to make the rendering faster using the power of many CPU Cores and GPU accelerated.
We will have to wait and see how this will be when probably next year 2012 Intel releases this new technology chips and if it will help much to Filter Forge to be able to get even better render speeds. For now the best thing for getting faster renders is to have the most powerful (and probably with most cores) and better with HT boost as intel based chips have, so for until today the best is the Intel Quad Core i7 2600 as it even beats the Six core Intel released before, so not always more cores are faster. |
|||||||||
Posted: July 10, 2011 3:34 pm | ||||||||||
SpaceRay
![]() |
I have found some NEW news about the forthcoming Intel´s new chip
Intel Knights Ferry has 50 cores, will make your laptop a beast http://guyism.com/lifestyle/intel-kni...beast.html
So this could be used as a CPU slave chip, sort of. The bad news about this is that you NEED to optimize the software to work with this new chip, and I doubt that FF will do it. Well perhaps for FF 6.0 or 7.0 they will have time to do it.
SO we will NOT have any kind of GPU / OPENGL /OPENCL/ CUDA OR KNIGHT FERRY CHIP acceleration and optimization inside FF. But this could change if another competing company could begin to make a similar software that WOULD have GPU acceleration preview and render, and so FF would loose. Here is more information from the Wikipedia ---> http://en.wikipedia.org/wiki/Intel_MIC |
|||||||||
Posted: January 21, 2012 4:33 pm | ||||||||||
GeorgeR
Posts: 18 |
I'd recommend OpenCL with OpenGL fbo's where they're needed. I don't see why there would be different results with different cards, as long as you're doing correct feature detection, and static lookup tables for quasi-random operators like noise.
|
|||||||||
Posted: February 9, 2012 8:15 pm | ||||||||||
SpaceRay
![]() |
I have bad news for you, as Vladimir Golovin have said that Filter Forge will NOT HAVE ANY kind of GPU acceleration, NO OpenCL, OpenGL, CUDA or any other because the way they have built the engine of FF is not possible to make. The ONLY possible way for FF to have any kind of acceleration is when these Knight Ferry chips would be released, but as shown above this will NOT happen soon, AND also these Knight Ferry chips NEED to be specially programmed by the software and have also special requirements. Probably the only way FF could decide to have GPU preview and acceleration is that a competing software company could release another similar software WITH GPU based acceleration, and so perhaps they could be forced to do it. |
|||||||||
Posted: February 10, 2012 12:33 am | ||||||||||
GiovannyArce
Posts: 3 |
1 year later, No GPU
![]() |
|||||||||
Posted: October 19, 2013 10:37 am | ||||||||||
Skybase
![]() |
Yeah but it's no surprise being shot down as a suggestion. The whole program was developed to run on CPU. The nodes calculate the imagery on CPU. And if you want full-on GPU, FilterForge will need a complete rewrite. And as far as I know, this product took years of development.
A lot of people don't realize that adding GPU isn't like tacking on a feature into a program. GPU is a separate entity. It calculates things differently meaning you need a completely different algorithm in some cases. That's another layer of research and development which takes time and can take years! There are so many hurdles with GPU as well. A lot of recent buzz about it is just beginning to solve some of the major problems with running stuff on GPU. In fact, some key algorithms that used to run on CPU are finally making a transition to GPU. And it took years for super smart people to research methods and develop them into a usable product. That product is just coming out now. So yeah... 1 year later no GPU? Think again. ![]() |
|||||||||
Posted: October 19, 2013 11:33 am | ||||||||||
GiovannyArce
Posts: 3 |
Yea, I understand everything, don't get me wrong, just saying. Hope to see someday something like gpu for a faster rendering in FF.
|
|||||||||
Posted: October 19, 2013 12:03 pm | ||||||||||
Skybase
![]() |
hah I'm standing by!!
![]() |
|||||||||
Posted: October 19, 2013 1:17 pm | ||||||||||
SpaceRay
![]() |
FF WITH GPU WOULD BE LIKE THE BEST PARADISE ON EARTH
I agree much with you and feel the same as you, but you are wrong if you have been waiting until now for the FF with GPU, because it was confirmed by FF team that FF 4.0 will not have any GPU, so I was not waiting for it to happen any time soon, I have been waiting for the GPU since 3 years ago, and then I stopped waiting when it was said that this is not included in the FF 4.0 plans. And maybe if they decide to make it would be perhaps another year more, because as Skybase have said very well, is not easy at all to add GPU acceleration, as it needs to transfer some of the code to the GPU and modify all the things so they work with GPU and CPU together, and is not like attaching a new part to the software, it needs to be modified. If FF could have GPU acceleration, OR have some kind of big improvement in the render speed in whatever way, it would be the greatest reason to upgrade and would sky rocket the sales of FF and it would be much more popular, as it is recognized as an awesome and amazing software BUT slow to render and also to preview any changes you make in the settings There are some software that have added GPU acceleration only to the preview so you can have the modification of the settings in realtime, but then later when render the final image result, they only use CPU, so maybe if they could not use GPU for a faster rendering, they could at least give some acceleration to the preview part, although I think that this would not work, because as far as I know, for making the presets thumbnails, preview images, and final result rendering is all using exactly same rendering engine. |
|||||||||
Posted: October 22, 2013 1:41 pm | ||||||||||
SpaceRay
![]() |
Above all the things I have already said in my previous post there is something that may give some clue about GPU integration problems or difficulty
Recently has been released the 3D software Cinema4D 15 and since version 13 (2 years ago) has been said in some forums that I have seen that it would perhaps include GPU rendering as it have already others software like for example Blender or Elements 3D (3D plugin for After Effects) that work really MUCH faster and in real time using GPU, but the very famous and very popular Cinema 4D that I think and believe must have a big developers team have not yet been able to add GPU support to their software. Although the good news for Cinema 4D users is that you really do not have to wait for Maxon to add GPU for the software, you can buy an (very expensive) external GPU render software like iRAy for Cinema4D or Octane Render, and have GPU compatible, but regretably this does not happen with FF as you can´t buy any external render for FF ![]() ![]() |
|||||||||
Posted: October 22, 2013 3:11 pm | ||||||||||
Skybase
![]() |
GPU support has always been a completely separate branch of things. There's hardly any GPU-render engine that supports older CPU-based shader systems. A lot of these render engines converts the current data value given in one shader to the other shader system. But you have to understand that they're separate entities. Might as well just go and rewrite FF!
Although I must admit, CPU can render fast as GPU, if you know the magic. A lot of people seem to marinade themselves on the power of GPU render but seem to forget the art of creating an optimal scene for render. Taking 40 seconds a frame? I'll take it down to 4 seconds without GPU acceleration. Now imagine what it'd be like on GPU. |
|||||||||
Posted: October 22, 2013 9:37 pm | ||||||||||
SpaceRay
![]() |
Whatever way that it could be done to make faster FF would be really helpful and will surely skyrocket the sell and popularity of FF
Also the problem is not only to include the GPU, is also which of the ways to include it in your software, as it seems that the latest and fastest new algorithms only support CUDA, that is only available with Nvidia cards, and is not supported by ATI cards, so all of them would be left out, and the same happens with RenderMonkey that is only for ATI, and so it should be twice the work if going this way. Also there is using OpenGL, OpenCL, SSL acceleration, and others more.
Yes I agree, to make a software faster, is not always needed to make it support GPU, it could be done also with CPU optimization, as they are doing with some software that still do not use GPU but are optimizing and rewriting the render engine to make it faster. As I said if including GPU support is too much work and would need to rewrite the code, maybe there could be another alternative way, to make the software faster in some other way, altough Vladimir have already said that they have optimized at the maximum their software can´t be optimized more. |
|||||||||
Posted: October 24, 2013 1:21 pm | ||||||||||
PixelSlaughter
Posts: 105 |
One must spend the GPU money for RAM and CPU instead... The heavy applications needs MUUUUUUCH power, so nowadays we know lotsa render farms are available. I myself decider to discover all mayor ways to trick the rendering in 3D apps, also the scene poligon count limits. Instead of buying the most expensive GPU x 4... Also much electricity must be paid hehehe... And finally your stack of GPUs will not accept all the billions of polygons you wish.
cheerz |
|||||||||
Posted: December 25, 2013 9:49 am |
Filter Forge has a thriving, vibrant, knowledgeable user community. Feel free to join us and have fun!
33,712 Registered Users
+19 new in 30 days!
153,533 Posts
+31 new in 30 days!
15,348 Topics
+73 new in year!
45 unregistered users.