Page 1 of 1

cesletia 1.4.0 pre8 earth reg > OpenGL 2.0

Posted: 15.12.2005, 13:53
by symaski62

Code: Select all

Vendor: NVIDIA Corporation
Renderer: GeForce FX 5200/PCI/SSE/3DNOW!
Version: 2.0.1
Max simultaneous textures: 4
Max texture size: 4096
Point size range: 1.000000 - 63.375000

Supported Extensions:
GL_ARB_depth_texture
GL_ARB_fragment_program
GL_ARB_fragment_program_shadow
GL_ARB_fragment_shader
GL_ARB_half_float_pixel
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_compression
GL_ARB_texture_cube_map
GL_ARB_texture_env_add
GL_ARB_texture_env_combine
GL_ARB_texture_env_dot3
GL_ARB_texture_mirrored_repeat
GL_ARB_texture_rectangle
GL_ARB_transpose_matrix
GL_ARB_vertex_buffer_object
GL_ARB_vertex_program
GL_ARB_vertex_shader
GL_ARB_window_pos
GL_S3_s3tc
GL_EXT_texture_env_add
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_compiled_vertex_array
GL_EXT_Cg_shader
GL_EXT_draw_range_elements
GL_EXT_fog_coord
GL_EXT_framebuffer_object
GL_EXT_multi_draw_arrays
GL_EXT_packed_depth_stencil
GL_EXT_packed_pixels
GL_EXT_paletted_texture
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_shared_texture_palette
GL_EXT_stencil_two_side
GL_EXT_stencil_wrap
GL_EXT_texture3D
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_lod
GL_EXT_texture_lod_bias
GL_EXT_texture_object
GL_EXT_texture_sRGB
GL_EXT_timer_query
GL_EXT_vertex_array
GL_HP_occlusion_test
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_clamp
GL_NV_fence
GL_NV_float_buffer
GL_NV_fog_distance
GL_NV_fragment_program
GL_NV_fragment_program_option
GL_NV_half_float
GL_NV_light_max_exponent
GL_NV_multisample_filter_hint
GL_NV_occlusion_query
GL_NV_packed_depth_stencil
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_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_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


Code: Select all

Vertex shader source:
  1: uniform struct {
  2:    vec3 direction;
  3:    vec3 diffuse;
  4:    vec3 specular;
  5:    vec3 halfVector;
  6: } lights[1];
  7: varying vec2 diffTexCoord;
  8: varying vec2 normTexCoord;
  9: varying vec3 lightDir0;
 10: uniform float textureOffset;
 11: attribute vec3 tangent;
 12:
 13: void main(void)
 14: {
 15: float nDotVP;
 16: nDotVP = max(0.0, dot(gl_Normal, lights[0].direction));
 17: vec3 bitangent = cross(gl_Normal, tangent);
 18: lightDir0.x = dot(tangent, lights[0].direction);
 19: lightDir0.y = dot(-bitangent, lights[0].direction);
 20: lightDir0.z = dot(gl_Normal, lights[0].direction);
 21: diffTexCoord = gl_MultiTexCoord0.st;
 22: diffTexCoord.x += textureOffset;
 23: normTexCoord = gl_MultiTexCoord1.st;
 24: gl_Position = ftransform();
 25: }

Fragment shader source:
  1: uniform vec3 ambientColor;
  2: vec4 diff = vec4(ambientColor, 1.0);
  3: uniform vec3 lightcolor0;
  4: varying vec2 diffTexCoord;
  5: uniform sampler2D diffTex;
  6: varying vec2 normTexCoord;
  7: varying vec3 lightDir0;
  8: uniform sampler2D normTex;
  9:
 10: void main(void)
 11: {
 12: vec4 color;
 13: vec3 n = texture2D(normTex, normTexCoord.st).xyz * vec3(2.0, 2.0, 2.0) - vec3(1.0, 1.0, 1.0);
 14: float l;
 15: l = max(0.0, dot(lightDir0, n)) * clamp(lightDir0.z * 8.0, 0.0, 1.0);
 16: diff.rgb += l * lightcolor0;
 17: color = texture2D(diffTex, diffTexCoord.st);
 18: gl_FragColor = color * diff;
 19: }

Vertex shader source:
  1: uniform struct {
  2:    vec3 direction;
  3:    vec3 diffuse;
  4:    vec3 specular;
  5:    vec3 halfVector;
  6: } lights[1];
  7: uniform float shininess;
  8: uniform vec3 ambientColor;
  9: varying vec4 diff;
 10: varying vec4 spec;
 11: varying vec2 diffTexCoord;
 12: varying vec2 nightTexCoord;
 13: varying float totalLight;
 14: uniform float textureOffset;
 15:
 16: void main(void)
 17: {
 18: float nDotVP;
 19: float nDotHV;
 20: diff = vec4(ambientColor, 1.0);
 21: nDotVP = max(0.0, dot(gl_Normal, lights[0].direction));
 22: nDotHV = max(0.0, dot(gl_Normal, lights[0].halfVector));
 23: diff.rgb += lights[0].diffuse * nDotVP;
 24: spec.rgb += lights[0].specular * (pow(nDotHV, shininess) * nDotVP);
 25: totalLight += nDotVP;
 26: totalLight = 1.0 - totalLight;
 27: totalLight = totalLight * totalLight * totalLight * totalLight;
 28: diffTexCoord = gl_MultiTexCoord0.st;
 29: diffTexCoord.x += textureOffset;
 30: nightTexCoord = gl_MultiTexCoord1.st;
 31: gl_Position = ftransform();
 32: }

Fragment shader source:
  1: varying vec4 diff;
  2: varying vec4 spec;
  3: varying vec2 diffTexCoord;
  4: uniform sampler2D diffTex;
  5: varying vec2 nightTexCoord;
  6: uniform sampler2D nightTex;
  7: varying float totalLight;
  8:
  9: void main(void)
 10: {
 11: vec4 color;
 12: color = texture2D(diffTex, diffTexCoord.st);
 13: gl_FragColor = color * diff + color.a * spec;
 14: gl_FragColor += texture2D(nightTex, nightTexCoord.st) * totalLight;
 15: }

Error linking shader program:
Vertex info
-----------
Internal error: assembly compile error for vertex shader at offset 1445:
-- error message --
line 39, column 19:  error: invalid operand variable
line 46, column 33:  error: invalid operand variable
-- internal assembly text --
!!VP2.0
# cgc version 1.5.0000, build date Nov 11 2005 14:12:07
# command line args:
#vendor NVIDIA Corporation
#version 1.0.02
#profile vp30
#program main
#semantic gl_ModelViewProjectionMatrixTranspose
#semantic lights
#semantic shininess
#semantic ambientColor
#semantic textureOffset
#var float3 gl_Normal : $vin.NORMAL : NORMAL : -1 : 1
#var float4 gl_Vertex : $vin.POSITION : POSITION : -1 : 1
#var float4 gl_MultiTexCoord0 : $vin.TEXCOORD0 : TEXCOORD0 : -1 : 1
#var float4 gl_MultiTexCoord1 : $vin.TEXCOORD1 : TEXCOORD1 : -1 : 1
#var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
#var float4x4 gl_ModelViewProjectionMatrixTranspose :  : c[0], 4 : -1 : 1
#var float3 lights[0].direction :  : c[4] : -1 : 1
#var float3 lights[0].diffuse :  : c[6] : -1 : 1
#var float3 lights[0].specular :  : c[10] : -1 : 1
#var float3 lights[0].halfVector :  : c[8] : -1 : 1
#var float shininess :  : c[9] : -1 : 1
#var float3 ambientColor :  : c[7] : -1 : 1
#var float4 diff : $vout.TEX0 : TEX0 : -1 : 1
#var float2 diffTexCoord : $vout.TEX1 : TEX1 : -1 : 1
#var float totalLight : $vout.TEX2 : TEX2 : -1 : 1
#var float textureOffset :  : c[11] : -1 : 1
#var float2 nightTexCoord : $vout.TEX4 : TEX4 : -1 : 1
#var float4 spec : $vout.TEX3 : TEX3 : -1 : 1
#const c[5] = 0 1
BB1:
DP3   R0.x, v[2], c[4];
MAX   R0.x, R0, c[5];
MUL   R1.xyz, R0.x, c[6];
ADD   o[TEX0].xyz, R1, c[7];
DP3   R0.y, v[2], c[8];
MAX   R1.xy, R0.y, c[5].x;
ADD   R0.y, R0.x, o[TEX2].x;
ADD   R0.y, -R0, c[5];
MOV   R1.z, c[9].x;
LIT   R0.z, R1.xyzz;
MUL   R0.x, R0, R0.z;
MUL   R0.w, R0.y, R0.y;
MUL   R0.z, R0.w, R0.y;
MAD   o[TEX3].xyz, R0.x, c[10], o[TEX3];
MUL   o[TEX2].x, R0.z, R0.y;
MOV   o[TEX4].xy, v[9];
MOV   o[TEX0].w, c[5].y;
ADD   o[TEX1].x, v[8], c[11];
MOV   o[TEX1].y, v[8];
DP4   o[HPOS].w, v[0], c[3];
DP4   o[HPOS].z, v[0], c[2];
DP4   o[HPOS].y, v[0], c[1];
DP4   o[HPOS].x, v[0], c[0];
END
# 23 instructions, 2 R-regs
Vertex shader source:
  1: uniform struct {
  2:    vec3 direction;
  3:    vec3 diffuse;
  4:    vec3 specular;
  5:    vec3 halfVector;
  6: } lights[1];
  7: uniform vec3 ambientColor;
  8: varying vec4 diff;
  9: varying vec2 diffTexCoord;
 10: uniform float textureOffset;
 11:
 12: void main(void)
 13: {
 14: float nDotVP;
 15: diff = vec4(ambientColor, 1.0);
 16: nDotVP = max(0.0, dot(gl_Normal, lights[0].direction));
 17: diff.rgb += lights[0].diffuse * nDotVP;
 18: diffTexCoord = gl_MultiTexCoord0.st;
 19: diffTexCoord.x += textureOffset;
 20: gl_Position = ftransform();
 21: }

Fragment shader source:
  1: varying vec4 diff;
  2: varying vec2 diffTexCoord;
  3: uniform sampler2D diffTex;
  4:
  5: void main(void)
  6: {
  7: vec4 color;
  8: color = texture2D(diffTex, diffTexCoord.st);
  9: gl_FragColor = color * diff;
 10: }


:wink:

Posted: 15.12.2005, 15:28
by danielj
I didn??t know that Celestia 1.4.0 pre 8 was ready to download.Why no one announced this in the Celestia Users forum?

Posted: 15.12.2005, 16:46
by t00fri
danielj wrote:I didn??t know that Celestia 1.4.0 pre 8 was ready to download.Why no one announced this in the Celestia Users forum?

It was announced in the Celestia user forum, where it belongs:

http://www.celestiaproject.net/forum/viewtopic ... 8&start=17

It was essentially released in the CVS for the developers to test before Celestia-1.4.0 final is to follow for public use.

Bye Fridger

Posted: 15.12.2005, 17:38
by piellepi
Hi!
Today I run Celestia FT1.2 on my PC at office:

------------------------------------------------------------------------
Vendor: NVIDIA Corporation
Renderer: GeForce 6200SE TurboCache(TM)/PCI/SSE2
Version: 2.0.1
Max simultaneous textures: 4
Max texture size: 4096
Supported Extensions:
GL_ARB_color_buffer_float
GL_ARB_depth_texture
GL_ARB_draw_buffers
GL_ARB_fragment_program
GL_ARB_fragment_program_shadow
GL_ARB_fragment_shader
GL_ARB_half_float_pixel
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_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_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_depth_bounds_test
GL_EXT_draw_range_elements
GL_EXT_fog_coord
GL_EXT_framebuffer_object
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_rescale_normal
GL_EXT_secondary_color
GL_EXT_separate_specular_color
GL_EXT_shadow_funcs
GL_EXT_stencil_clear_tag
GL_EXT_stencil_two_side
GL_EXT_stencil_wrap
GL_EXT_texture3D
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_lod
GL_EXT_texture_lod_bias
GL_EXT_texture_mirror_clamp
GL_EXT_texture_object
GL_EXT_texture_sRGB
GL_EXT_timer_query
GL_EXT_vertex_array
GL_HP_occlusion_test
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_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_half_float
GL_NV_light_max_exponent
GL_NV_multisample_filter_hint
GL_NV_occlusion_query
GL_NV_packed_depth_stencil
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_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
------------------------------------------------------------------------

Switching with Ctrl-V to "OpenGL 2.0" the in-famous RED EARTH reappears! :?

The corresponding file "shaders.log" is

------------------------------------------------------------------------
Vertex shader source:
1: uniform struct {
2: vec3 direction;
3: vec3 diffuse;
4: vec3 specular;
5: vec3 halfVector;
6: } lights[1];
7: varying vec2 diffTexCoord;
8: varying vec2 normTexCoord;
9: varying vec3 lightDir0;
10: uniform float textureOffset;
11: attribute vec3 tangent;
12:
13: void main(void)
14: {
15: float nDotVP;
16: nDotVP = max(0.0, dot(gl_Normal, lights[0].direction));
17: vec3 bitangent = cross(gl_Normal, tangent);
18: lightDir0.x = dot(tangent, lights[0].direction);
19: lightDir0.y = dot(-bitangent, lights[0].direction);
20: lightDir0.z = dot(gl_Normal, lights[0].direction);
21: diffTexCoord = gl_MultiTexCoord0.st;
22: diffTexCoord.x += textureOffset;
23: normTexCoord = gl_MultiTexCoord1.st;
24: gl_Position = ftransform();
25: }

Fragment shader source:
1: uniform vec3 ambientColor;
2: vec4 diff = vec4(ambientColor, 1.0);
3: uniform vec3 lightcolor0;
4: varying vec2 diffTexCoord;
5: uniform sampler2D diffTex;
6: varying vec2 normTexCoord;
7: varying vec3 lightDir0;
8: uniform sampler2D normTex;
9:
10: void main(void)
11: {
12: vec4 color;
13: vec3 n = texture2D(normTex, normTexCoord.st).xyz * vec3(2.0, 2.0, 2.0) - vec3(1.0, 1.0, 1.0);
14: float l;
15: l = max(0.0, dot(lightDir0, n)) * clamp(lightDir0.z * 8.0, 0.0, 1.0);
16: diff.rgb += l * lightcolor0;
17: color = texture2D(diffTex, diffTexCoord.st);
18: gl_FragColor = color * diff;
19: }

Vertex shader source:
1: uniform struct {
2: vec3 direction;
3: vec3 diffuse;
4: vec3 specular;
5: vec3 halfVector;
6: } lights[1];
7: uniform float shininess;
8: uniform vec3 ambientColor;
9: varying vec4 diff;
10: varying vec4 spec;
11: varying vec2 diffTexCoord;
12: varying vec2 nightTexCoord;
13: varying float totalLight;
14: uniform float textureOffset;
15:
16: void main(void)
17: {
18: float nDotVP;
19: float nDotHV;
20: diff = vec4(ambientColor, 1.0);
21: nDotVP = max(0.0, dot(gl_Normal, lights[0].direction));
22: nDotHV = max(0.0, dot(gl_Normal, lights[0].halfVector));
23: diff.rgb += lights[0].diffuse * nDotVP;
24: spec.rgb += lights[0].specular * (pow(nDotHV, shininess) * nDotVP);
25: totalLight += nDotVP;
26: totalLight = 1.0 - totalLight;
27: totalLight = totalLight * totalLight * totalLight * totalLight;
28: diffTexCoord = gl_MultiTexCoord0.st;
29: diffTexCoord.x += textureOffset;
30: nightTexCoord = gl_MultiTexCoord1.st;
31: gl_Position = ftransform();
32: }

Fragment shader source:
1: varying vec4 diff;
2: varying vec4 spec;
3: varying vec2 diffTexCoord;
4: uniform sampler2D diffTex;
5: varying vec2 nightTexCoord;
6: uniform sampler2D nightTex;
7: varying float totalLight;
8:
9: void main(void)
10: {
11: vec4 color;
12: color = texture2D(diffTex, diffTexCoord.st);
13: gl_FragColor = color * diff + color.a * spec;
14: gl_FragColor += texture2D(nightTex, nightTexCoord.st) * totalLight;
15: }

Error linking shader program:
Vertex info
-----------
Internal error: assembly compile error for vertex shader at offset 1606:
-- error message --
line 46, column 19: error: invalid operand variable
line 53, column 44: error: invalid operand variable
-- internal assembly text --
!!ARBvp1.0
OPTION NV_vertex_program3;
# cgc version 1.5.0000, build date Nov 11 2005 14:12:07
# command line args:
#vendor NVIDIA Corporation
#version 1.0.02
#profile vp40
#program main
#semantic gl_ModelViewProjectionMatrixTranspose
#semantic lights
#semantic shininess
#semantic ambientColor
#semantic textureOffset
#var float3 gl_Normal : $vin.NORMAL : NORMAL : -1 : 1
#var float4 gl_Vertex : $vin.POSITION : POSITION : -1 : 1
#var float4 gl_MultiTexCoord0 : $vin.TEXCOORD0 : TEXCOORD0 : -1 : 1
#var float4 gl_MultiTexCoord1 : $vin.TEXCOORD1 : TEXCOORD1 : -1 : 1
#var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
#var float4x4 gl_ModelViewProjectionMatrixTranspose : : c[0], 4 : -1 : 1
#var float3 lights[0].direction : : c[4] : -1 : 1
#var float3 lights[0].diffuse : : c[6] : -1 : 1
#var float3 lights[0].specular : : c[10] : -1 : 1
#var float3 lights[0].halfVector : : c[8] : -1 : 1
#var float shininess : : c[9] : -1 : 1
#var float3 ambientColor : : c[7] : -1 : 1
#var float textureOffset : : c[11] : -1 : 1
#var float4 diff : $vout.TEX0 : TEX0 : -1 : 1
#var float2 diffTexCoord : $vout.TEX1 : TEX1 : -1 : 1
#var float4 spec : $vout.TEX2 : TEX2 : -1 : 1
#var float2 nightTexCoord : $vout.TEX3 : TEX3 : -1 : 1
#var float totalLight : $vout.TEX4 : TEX4 : -1 : 1
#const c[5] = 0 1
PARAM c[12] = { program.local[0..4],
{ 0, 1 },
program.local[6..11] };
TEMP R0;
TEMP R1;
TEMP CC;
BB1:
DP3 R0.x, vertex.normal, c[4];
MAX R0.x, R0, c[5];
MUL R1.xyz, R0.x, c[6];
ADD result.texcoord[0].xyz, R1, c[7];
DP3 R0.y, vertex.normal, c[8];
MAX R1.xy, R0.y, c[5].x;
ADD R0.y, R0.x, result.texcoord[4].x;
ADD R0.y, -R0, c[5];
MOV R1.z, c[9].x;
LIT R0.z, R1.xyzz;
MUL R0.x, R0, R0.z;
MUL R0.w, R0.y, R0.y;
MUL R0.z, R0.w, R0.y;
MAD result.texcoord[2].xyz, R0.x, c[10], result.texcoord[2];
MUL result.texcoord[4].x, R0.z, R0.y;
MOV result.texcoord[3].xy, vertex.texcoord[1];
MOV result.texcoord[0].w, c[5].y;
ADD result.texcoord[1].x, vertex.texcoord[0], c[11];
MOV result.texcoord[1].y, vertex.texcoord[0];
DP4 result.position.w, vertex.position, c[3];
DP4 result.position.z, vertex.position, c[2];
DP4 result.position.y, vertex.position, c[1];
DP4 result.position.x, vertex.position, c[0];
END
# 23 instructions, 2 R-regs
Vertex shader source:
1: uniform struct {
2: vec3 direction;
3: vec3 diffuse;
4: vec3 specular;
5: vec3 halfVector;
6: } lights[1];
7: uniform vec3 ambientColor;
8: varying vec4 diff;
9: varying vec2 diffTexCoord;
10: uniform float textureOffset;
11:
12: void main(void)
13: {
14: float nDotVP;
15: diff = vec4(ambientColor, 1.0);
16: nDotVP = max(0.0, dot(gl_Normal, lights[0].direction));
17: diff.rgb += lights[0].diffuse * nDotVP;
18: diffTexCoord = gl_MultiTexCoord0.st;
19: diffTexCoord.x += textureOffset;
20: gl_Position = ftransform();
21: }

Fragment shader source:
1: varying vec4 diff;
2: varying vec2 diffTexCoord;
3: uniform sampler2D diffTex;
4:
5: void main(void)
6: {
7: vec4 color;
8: color = texture2D(diffTex, diffTexCoord.st);
9: gl_FragColor = color * diff;
10: }
------------------------------------------------------------------------


BTW in my PC at home, with a ATI 9600 card, even with the latest drivers that cover 2.0, I NEVER succeded in switching to "OpenGL 2.0": I always obtain the red earth, while for example Saturn seems to be OK.

Thanks

Pierluigi

Posted: 15.12.2005, 22:03
by dirkpitt
Looking on the bright side, from a programmer's point of view there is at least one "cool" thing about these recent driver bugs. It appears the recent GLSL compilers in the Windows video drivers internally call cgc, which is NVIDIA's compiler for their own high-level shader language, Cg. While cgc has been able to compile GLSL for some time now, I had no idea NVIDIA's own video driver was using it compile GLSL code. Incidentally the generated assembly is marked "ARBVp" but it looks more like "ARB with NVIDIA extensions"...

Posted: 18.12.2005, 21:55
by suwalski
There seems to be a problem with how specularity is generated for OpenGL2 render paths.

See: http://sourceforge.net/mailarchive/foru ... um_id=9864

A workaround I found is to comment out the following lines in data/solarsys.ssc:
  • SpecularColor
  • SpecularPower

Can anyone confirm this makes things avoid the problem?

It actually generates a different GLSL shader when this is done, but it will confirm if it's the specularity code that causes the difference.

Posted: 19.12.2005, 18:58
by chris
I've built a new 1.4.0 prerelease with a fix for this problem.

http://www.celestiaproject.net/~claurel/celest ... 0pre10.exe

--Chris

Posted: 19.12.2005, 19:44
by t00fri
chris wrote:I've built a new 1.4.0 prerelease with a fix for this problem. It also includes the fixes from Fridger's 1.4.0pre9 update.

http://www.celestiaproject.net/~claurel/celest ... 0pre10.exe

--Chris


That was a bit fast, as concerns my fixes, since --being a careful character ;-) -- I wanted my fixes being first tested by people, before commiting them. So these important changes are still lacking in your new Windows pre-version:

1) I fixed the reported problem with the sudden vanishing of some very distant galaxies. Please try it out for at least NGC 1007, IC 4107, IC 4147, IC 4167. The three IC galaxies have all (fairly uncertain) distances > 1e9 ly ! The furthest, IC 4107 has a VERY dim apparent magnitude of 18.5! It's the dimmest one in my deepsky.dsc catalog.

2) I have also tuned my new brightness sorted galaxy label display a bit. That's advantagous in view of the new display of the VERY far away galaxies (d>1e9 ly) of my catalog (up to 18.5 mag!).

What shall we do? I am unfortunately insainly busy during these days before the Christmas holidays...I'll try to commit these fixes still tonight.

Bye Fridger

Posted: 19.12.2005, 21:10
by chris
t00fri wrote:That was a bit fast, as concerns my fixes, since --being a careful character ;-) -- I wanted my fixes being first tested by people, before commiting them. So these important changes are still lacking in your new Windows pre-version:
Oops . . . I thought you'd committed the changes. In my rush to get distribute a fix for the OpenGL 2.0 issue out, I didn't actually check.

What shall we do? I am unfortunately insainly busy during these days before the Christmas holidays...I'll try to commit these fixes still tonight.


Yes, please commit the changes. Then I'll wait another day for more feedback and release 1.4.0 final.

--Chris

Posted: 19.12.2005, 21:27
by t00fri
OK, ...

Another point, after just downloading 1.4.0pre10:

As Frank noted already yesterday after trying out your 1.4.pre9 release and my update of pre9, you must have changed something wrto the comet code which is not yet in CVS. When going to Halley today, it does not have a coma anymore in your releases 9,10 while in my CVS-based code it still does. In both cases there is correctly no tail visible at the present time.

What did you change?

Bye Fridger

.

Posted: 19.12.2005, 21:46
by chris
t00fri wrote:OK, ...

Another point, after just downloading 1.4.0pre10:

As Frank noted already yesterday after trying out your 1.4.pre9 release and my update of pre9, you must have changed something wrto the comet code which is not yet in CVS. When going to Halley today, it does not have a coma anymore in your releases 9,10 while in my CVS-based code it still does. In both cases there is correctly no tail visible at the present time.

What did you change?


I haven't touched the comet code at all. I've no idea what could be different between the two versions.

--Chris

Posted: 19.12.2005, 22:12
by symaski62
:wink: 20/20 OPENGL 2.0 :)

BYE