Board index FlightGear Development Aircraft Cockpit development

Concorde cockpit redesign

Discussion about creating 2d and 3d cockpits.

Re: Concorde cockpit redesign

Postby Thorsten » Fri Nov 10, 2017 7:25 pm

But I removed ALS lighting from instruments, because was very bugy.


I'm not sure what lighting you refer to now - there's techniques that work in screen coordinates and those which work in model coordinates.

Neither technique is buggy - it does what its documentation says it does, if you use it in a way that's different from the documentation and this doesn't work out, then that's not a bug.

May I suggest you try to understand the techniques you're using for a bit?
Thorsten
 
Posts: 12490
Joined: Mon Nov 02, 2009 9:33 am

Re: Concorde cockpit redesign

Postby V12 » Fri Nov 10, 2017 7:50 pm

My solution was bugy.
My intention was use ALS spotlights to illuminate all cockpit as roof flood light and with 2 small projector ALS spotlights illuminate left and right side of panel. This works well. But I want illuminate movable parts of the instruments and in this case ALS spotlights fail.

On this screenshot is engineer's seat rotated to the front and illumination is not OK :

Image

And when I turn the seat to rigt as is in the model, lighting is correct :

Image

Roof flood light is simulated with spotlight defined at :
Code: Select all
sim/rendering/als-secondary-lights/lightspot/eyerel-x-m[2]
sim/rendering/als-secondary-lights/lightspot/eyerel-y-m[2]
sim/rendering/als-secondary-lights/lightspot/eyerel-z-m[2]
sim/rendering/als-secondary-lights/lightspot/lightspot-r[2]
sim/rendering/als-secondary-lights/lightspot/lightspot-g[2]
sim/rendering/als-secondary-lights/lightspot/lightspot-b[2]
sim/rendering/als-secondary-lights/lightspot/size[2]

Other spotlights are turned off with R/G/B components set to 0.
Seat has defined effect :
Code: Select all
<effect>
  <inherits-from>Aircraft/Concorde/Models/Effects/interior</inherits-from>
  <object-name>Seat</object-name>
  <object-name>Armrest</object-name>
  <object-name>TopSeat</object-name>
  <object-name>Boggie</object-name>
</effect>

And effect is defined :
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<PropertyList>
   <name>Effects/runway</name>
   <inherits-from>Effects/terrain-default</inherits-from>
   <parameters>

      <!--       BEGIN fog include -->
      <visibility><use>/environment/ground-visibility-m</use></visibility>
          <avisibility><use>/environment/visibility-m</use></avisibility>
          <lthickness><use>/environment/ground-haze-thickness-m</use></lthickness>
          <scattering><use>/rendering/scene/scattering</use></scattering>
          <ground_scattering><use>/environment/surface/scattering</use></ground_scattering>
          <terminator><use>/environment/terminator-relative-position-m</use></terminator>
          <terrain_alt><use>/environment/mean-terrain-elevation-m</use></terrain_alt>
          <overcast><use>/rendering/scene/overcast</use></overcast>
          <eye_alt><use>/sim/rendering/eye-altitude-m</use></eye_alt>
          <snow_level><use>/environment/snow-level-m</use></snow_level>
          <dust_cover_factor><use>/environment/surface/dust-cover-factor</use></dust_cover_factor>
          <lichen_cover_factor><use>/environment/surface/lichen-cover-factor</use></lichen_cover_factor>
          <snow_thickness_factor><use>/environment/surface/snow-thickness-factor</use></snow_thickness_factor>
          <wetness><use>/environment/surface/wetness</use></wetness>
          <uvstretch>1.0</uvstretch>
      <num_lightspots><use>/sim/rendering/als-secondary-lights/num-lightspots</use></num_lightspots>
      <eyerel_x1><use>/sim/rendering/als-secondary-lights/lightspot/eyerel-x-m</use></eyerel_x1>
      <eyerel_y1><use>/sim/rendering/als-secondary-lights/lightspot/eyerel-y-m</use></eyerel_y1>
      <eyerel_z1><use>/sim/rendering/als-secondary-lights/lightspot/eyerel-z-m</use></eyerel_z1>
      <lightspot_project1><use>/sim/rendering/als-secondary-lights/lightspot/stretch</use></lightspot_project1>
      <lightspot_dir1><use>/sim/rendering/als-secondary-lights/lightspot/dir</use></lightspot_dir1>
      <lightspot_size1><use>/sim/rendering/als-secondary-lights/lightspot/size</use></lightspot_size1>
      <lightspot_r1><use>/sim/rendering/als-secondary-lights/lightspot/lightspot-r</use></lightspot_r1>
      <lightspot_g1><use>/sim/rendering/als-secondary-lights/lightspot/lightspot-g</use></lightspot_g1>
      <lightspot_b1><use>/sim/rendering/als-secondary-lights/lightspot/lightspot-b</use></lightspot_b1>
      <eyerel_x2><use>/sim/rendering/als-secondary-lights/lightspot/eyerel-x-m[1]</use></eyerel_x2>
      <eyerel_y2><use>/sim/rendering/als-secondary-lights/lightspot/eyerel-y-m[1]</use></eyerel_y2>
      <eyerel_z2><use>/sim/rendering/als-secondary-lights/lightspot/eyerel-z-m[1]</use></eyerel_z2>
      <lightspot_project2><use>/sim/rendering/als-secondary-lights/lightspot/stretch[1]</use></lightspot_project2>
      <lightspot_dir2><use>/sim/rendering/als-secondary-lights/lightspot/dir[1]</use></lightspot_dir2>
      <lightspot_size2><use>/sim/rendering/als-secondary-lights/lightspot/size[1]</use></lightspot_size2>
      <lightspot_r2><use>/sim/rendering/als-secondary-lights/lightspot/lightspot-r[1]</use></lightspot_r2>
      <lightspot_g2><use>/sim/rendering/als-secondary-lights/lightspot/lightspot-g[1]</use></lightspot_g2>
      <lightspot_b2><use>/sim/rendering/als-secondary-lights/lightspot/lightspot-b[1]</use></lightspot_b2>
      <eyerel_x3><use>/sim/rendering/als-secondary-lights/lightspot/eyerel-x-m[2]</use></eyerel_x3>
      <eyerel_y3><use>/sim/rendering/als-secondary-lights/lightspot/eyerel-y-m[2]</use></eyerel_y3>
      <eyerel_z3><use>/sim/rendering/als-secondary-lights/lightspot/eyerel-z-m[2]</use></eyerel_z3>
      <lightspot_size3><use>/sim/rendering/als-secondary-lights/lightspot/size[2]</use></lightspot_size3>
      <lightspot_r3><use>/sim/rendering/als-secondary-lights/lightspot/lightspot-r[2]</use></lightspot_r3>
      <lightspot_g3><use>/sim/rendering/als-secondary-lights/lightspot/lightspot-g[2]</use></lightspot_g3>
      <lightspot_b3><use>/sim/rendering/als-secondary-lights/lightspot/lightspot-b[2]</use></lightspot_b3>
      <eyerel_x4><use>/sim/rendering/als-secondary-lights/lightspot/eyerel-x-m[3]</use></eyerel_x4>
      <eyerel_y4><use>/sim/rendering/als-secondary-lights/lightspot/eyerel-y-m[3]</use></eyerel_y4>
      <eyerel_z4><use>/sim/rendering/als-secondary-lights/lightspot/eyerel-z-m[3]</use></eyerel_z4>
      <lightspot_size4><use>/sim/rendering/als-secondary-lights/lightspot/size[3]</use></lightspot_size4>
      <lightspot_r4><use>/sim/rendering/als-secondary-lights/lightspot/lightspot-r[3]</use></lightspot_r4>
      <lightspot_g4><use>/sim/rendering/als-secondary-lights/lightspot/lightspot-g[3]</use></lightspot_g4>
      <lightspot_b4><use>/sim/rendering/als-secondary-lights/lightspot/lightspot-b[3]</use></lightspot_b4>
      <eyerel_x5><use>/sim/rendering/als-secondary-lights/lightspot/eyerel-x-m[4]</use></eyerel_x5>
      <eyerel_y5><use>/sim/rendering/als-secondary-lights/lightspot/eyerel-y-m[4]</use></eyerel_y5>
      <eyerel_z5><use>/sim/rendering/als-secondary-lights/lightspot/eyerel-z-m[4]</use></eyerel_z5>
      <lightspot_size5><use>/sim/rendering/als-secondary-lights/lightspot/size[4]</use></lightspot_size5>
      <lightspot_r5><use>/sim/rendering/als-secondary-lights/lightspot/lightspot-r[4]</use></lightspot_r5>
      <lightspot_g5><use>/sim/rendering/als-secondary-lights/lightspot/lightspot-g[4]</use></lightspot_g5>
      <lightspot_b5><use>/sim/rendering/als-secondary-lights/lightspot/lightspot-b[4]</use></lightspot_b5>
         <fogtype><use>/sim/rendering/shaders/skydome</use></fogtype>
          <fogstructure><use>/environment/fog-structure</use></fogstructure>
          <cloud_self_shading><use>/environment/cloud-self-shading</use></cloud_self_shading>
          <moonlight><use>/environment/moonlight</use></moonlight>
          <delta_T><use>/environment/surface/delta-T-rock</use></delta_T>
         <quality_level><use>/sim/rendering/shaders/landmass</use></quality_level>
          <tquality_level><use>/sim/rendering/shaders/transition</use></tquality_level>
      <raise_vertex type="bool">false</raise_vertex>
      <overlay_flag type="int">0</overlay_flag>
      <!--       END fog include -->
   </parameters>
   <generate>
      <tangent type="int">6</tangent>
      <binormal type="int">7</binormal>
   </generate>


  <technique n="2">
    <predicate>
      <and>
        <property>/sim/rendering/shaders/skydome</property>
        <or>
          <less-equal>
            <value type="float">4.0</value>
            <float-property>/sim/rendering/shaders/landmass</float-property>
          </less-equal>
          <less-equal>
            <value type="float">3.0</value>
            <float-property>/sim/rendering/shaders/transition</float-property>
          </less-equal>
        </or>
        <or>
          <less-equal>
            <value type="float">2.0</value>
            <glversion/>
          </less-equal>
          <and>
            <extension-supported>GL_ARB_shader_objects</extension-supported>
            <extension-supported>GL_ARB_shading_language_100</extension-supported>
            <extension-supported>GL_ARB_vertex_shader</extension-supported>
            <extension-supported>GL_ARB_fragment_shader</extension-supported>
          </and>
        </or>
      </and>
    </predicate>
   
   
    <pass>
      <lighting>true</lighting>
      <material>
        <ambient><use>material/ambient</use></ambient>
        <diffuse><use>material/diffuse</use></diffuse>
        <specular><use>material/specular</use></specular>
        <emissive><use>material/emissive</use></emissive>
        <shininess><use>material/shininess</use></shininess>
        <color-mode>ambient-and-diffuse</color-mode>
      </material>
      <blend><use>transparent</use></blend>
      <alpha-test><use>transparent</use></alpha-test>
      <shade-model>smooth</shade-model>
      <cull-face>back</cull-face>
      <render-bin>
        <bin-number><use>render-bin/bin-number</use></bin-number>
        <bin-name><use>render-bin/bin-name</use></bin-name>
      </render-bin>
      <texture-unit>
        <unit>0</unit>
      <type><use>texture[0]/type</use></type>
        <image><use>texture[0]/image</use></image>
        <filter><use>texture[0]/filter</use></filter>
        <wrap-s><use>texture[0]/wrap-s</use></wrap-s>
        <wrap-t><use>texture[0]/wrap-t</use></wrap-t>
        <internal-format><use>texture[0]/internal-format</use></internal-format>
      </texture-unit>
     <texture-unit>
        <unit>4</unit>
      <type><use>texture[4]/type</use></type>
        <image><use>texture[4]/image</use></image>
        <filter><use>texture[4]/filter</use></filter>
        <wrap-s><use>texture[4]/wrap-s</use></wrap-s>
        <wrap-t><use>texture[4]/wrap-t</use></wrap-t>
        <internal-format><use>texture[4]/internal-format</use></internal-format>
      </texture-unit>
      <program>
        <vertex-shader n="0">Shaders/terrain-ALS-ultra.vert</vertex-shader>
        <vertex-shader n="1">Shaders/filters-ALS.vert</vertex-shader>
        <fragment-shader n="0">Shaders/runway-ALS.frag</fragment-shader>       
   <fragment-shader n="1">Shaders/cloud-shadowfunc.frag</fragment-shader>
   <fragment-shader n="2">Shaders/noise.frag</fragment-shader>
   <fragment-shader n="3">Shaders/hazes.frag</fragment-shader>
   <fragment-shader n="4">Shaders/secondary_lights.frag</fragment-shader>
   <fragment-shader n="5">Shaders/filters-ALS.frag</fragment-shader>
   <fragment-shader n="6">Shaders/lightspot-ALS.frag</fragment-shader>
      </program>
      <uniform>
        <name>scattering</name>
        <type>float</type>
        <value><use>scattering</use></value>
      </uniform>
      <uniform>
        <name>ground_scattering</name>
        <type>float</type>
        <value><use>ground_scattering</use></value>
      </uniform>
      <uniform>
        <name>terminator</name>
        <type>float</type>
        <value><use>terminator</use></value>
      </uniform>
      <uniform>
        <name>overcast</name>
        <type>float</type>
        <value><use>overcast</use></value>
      </uniform>
      <uniform>
        <name>eye_alt</name>
        <type>float</type>
        <value><use>eye_alt</use></value>
      </uniform>
      <uniform>
        <name>snowlevel</name>
        <type>float</type>
        <value>999999</value>
      </uniform>
      <uniform>
   <name>snow_thickness_factor</name>
   <type>float</type>
   <value>0</value>
      </uniform>
      <uniform>
        <name>fogstructure</name>
        <type>float</type>
        <value><use>fogstructure</use></value>
      </uniform>
      <uniform>
        <name>cloud_self_shading</name>
        <type>float</type>
        <value><use>cloud_self_shading</use></value>
      </uniform>
      <uniform>
        <name>moonlight</name>
        <type>float</type>
        <value><use>moonlight</use></value>
      </uniform>
      <uniform>
        <name>uvstretch</name>
        <type>float</type>
        <value><use>uvstretch</use></value>
      </uniform>
     
      <!-- secondary lights -->   
      <uniform>
        <name>view_pitch_offset</name>
        <type>float</type>
        <value><use>view_pitch_offset</use></value>
      </uniform>
      <uniform>
        <name>view_heading_offset</name>
        <type>float</type>
        <value><use>view_heading_offset</use></value>
      </uniform>
      <uniform>
        <name>field_of_view</name>
        <type>float</type>
        <value><use>view_fov</use></value>
      </uniform>
      <uniform>
        <name>landing_light1_offset</name>
        <type>float</type>
        <value><use>landing_light1_offset</use></value>
      </uniform>
      <uniform>
        <name>landing_light2_offset</name>
        <type>float</type>
        <value><use>landing_light2_offset</use></value>
      </uniform>
      <uniform>
        <name>landing_light3_offset</name>
        <type>float</type>
        <value><use>landing_light3_offset</use></value>
      </uniform>
      <uniform>
        <name>eyerel_x1</name>
        <type>float</type>
        <value><use>eyerel_x1</use></value>
      </uniform>
      <uniform>
        <name>eyerel_y1</name>
        <type>float</type>
        <value><use>eyerel_y1</use></value>
      </uniform>
      <uniform>
        <name>eyerel_z1</name>
        <type>float</type>
        <value><use>eyerel_z1</use></value>
      </uniform>
      <uniform>
        <name>lightspot_project1</name>
        <type>float</type>
        <value><use>lightspot_project1</use></value>
      </uniform>
      <uniform>
        <name>lightspot_dir1</name>
        <type>float</type>
        <value><use>lightspot_dir1</use></value>
      </uniform>
      <uniform>
        <name>lightspot_size1</name>
        <type>float</type>
        <value><use>lightspot_size1</use></value>
      </uniform>
      <uniform>
        <name>lightspot_r1</name>
        <type>float</type>
        <value><use>lightspot_r1</use></value>
      </uniform>
      <uniform>
        <name>lightspot_g1</name>
        <type>float</type>
        <value><use>lightspot_g1</use></value>
      </uniform>
      <uniform>
        <name>lightspot_b1</name>
        <type>float</type>
        <value><use>lightspot_b1</use></value>
      </uniform>
      <uniform>
        <name>eyerel_x2</name>
        <type>float</type>
        <value><use>eyerel_x2</use></value>
      </uniform>
      <uniform>
        <name>eyerel_y2</name>
        <type>float</type>
        <value><use>eyerel_y2</use></value>
      </uniform>
      <uniform>
        <name>eyerel_z2</name>
        <type>float</type>
        <value><use>eyerel_z2</use></value>
      </uniform>
      <uniform>
        <name>lightspot_project2</name>
        <type>float</type>
        <value><use>lightspot_project2</use></value>
      </uniform>
      <uniform>
        <name>lightspot_dir2</name>
        <type>float</type>
        <value><use>lightspot_dir2</use></value>
      </uniform>
      <uniform>
        <name>lightspot_size2</name>
        <type>float</type>
        <value><use>lightspot_size2</use></value>
      </uniform>
      <uniform>
        <name>lightspot_r2</name>
        <type>float</type>
        <value><use>lightspot_r2</use></value>
      </uniform>
      <uniform>
        <name>lightspot_g2</name>
        <type>float</type>
        <value><use>lightspot_g2</use></value>
      </uniform>
      <uniform>
        <name>lightspot_b2</name>
        <type>float</type>
        <value><use>lightspot_b2</use></value>
      </uniform>
      <uniform>
        <name>eyerel_x3</name>
        <type>float</type>
        <value><use>eyerel_x3</use></value>
      </uniform>
      <uniform>
        <name>eyerel_y3</name>
        <type>float</type>
        <value><use>eyerel_y3</use></value>
      </uniform>
      <uniform>
        <name>eyerel_z3</name>
        <type>float</type>
        <value><use>eyerel_z3</use></value>
      </uniform>
      <uniform>
        <name>lightspot_size3</name>
        <type>float</type>
        <value><use>lightspot_size3</use></value>
      </uniform>
      <uniform>
        <name>lightspot_r3</name>
        <type>float</type>
        <value><use>lightspot_r3</use></value>
      </uniform>
      <uniform>
        <name>lightspot_g3</name>
        <type>float</type>
        <value><use>lightspot_g3</use></value>
      </uniform>
      <uniform>
        <name>lightspot_b3</name>
        <type>float</type>
        <value><use>lightspot_b3</use></value>
      </uniform>
      <uniform>
        <name>eyerel_x4</name>
        <type>float</type>
        <value><use>eyerel_x4</use></value>
      </uniform>
      <uniform>
        <name>eyerel_y4</name>
        <type>float</type>
        <value><use>eyerel_y4</use></value>
      </uniform>
      <uniform>
        <name>eyerel_z4</name>
        <type>float</type>
        <value><use>eyerel_z4</use></value>
      </uniform>
      <uniform>
        <name>lightspot_size4</name>
        <type>float</type>
        <value><use>lightspot_size4</use></value>
      </uniform>
      <uniform>
        <name>lightspot_r4</name>
        <type>float</type>
        <value><use>lightspot_r4</use></value>
      </uniform>
      <uniform>
        <name>lightspot_g4</name>
        <type>float</type>
        <value><use>lightspot_g4</use></value>
      </uniform>
      <uniform>
        <name>lightspot_b4</name>
        <type>float</type>
        <value><use>lightspot_b4</use></value>
      </uniform>
      <uniform>
        <name>eyerel_x5</name>
        <type>float</type>
        <value><use>eyerel_x5</use></value>
      </uniform>
      <uniform>
        <name>eyerel_y5</name>
        <type>float</type>
        <value><use>eyerel_y5</use></value>
      </uniform>
      <uniform>
        <name>eyerel_z5</name>
        <type>float</type>
        <value><use>eyerel_z5</use></value>
      </uniform>
      <uniform>
        <name>lightspot_size5</name>
        <type>float</type>
        <value><use>lightspot_size5</use></value>
      </uniform>
      <uniform>
        <name>lightspot_r5</name>
        <type>float</type>
        <value><use>lightspot_r5</use></value>
      </uniform>
      <uniform>
        <name>lightspot_g5</name>
        <type>float</type>
        <value><use>lightspot_g5</use></value>
      </uniform>
      <uniform>
        <name>lightspot_b5</name>
        <type>float</type>
        <value><use>lightspot_b5</use></value>
      </uniform>
      <!-- filtering -->
      <uniform>
        <name>gamma</name>
        <type>float</type>
        <value><use>gamma</use></value>
      </uniform>
      <uniform>
        <name>brightness</name>
        <type>float</type>
        <value><use>brightness</use></value>
      </uniform>
      <uniform>
        <name>use_night_vision</name>
        <type>bool</type>
        <value><use>use_night_vision</use></value>
      </uniform>
      <uniform>
        <name>use_IR_vision</name>
        <type>bool</type>
        <value><use>use_IR_vision</use></value>
      </uniform>
      <uniform>
        <name>use_filtering</name>
        <type>bool</type>
        <value><use>use_filtering</use></value>
      </uniform>
      <uniform>
        <name>delta_T</name>
        <type>float</type>
        <value><use>delta_T</use></value>
      </uniform>
      <uniform>
        <name>fact_grey</name>
        <type>float</type>
        <value><use>fact_grey</use></value>
      </uniform>
      <uniform>
        <name>fact_black</name>
        <type>float</type>
        <value><use>fact_black</use></value>
      </uniform>
      <!-- cloud shadows -->
      <uniform>
        <name>cloudpos1_x</name>
        <type>float</type>
        <value><use>cloudpos1_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos1_y</name>
        <type>float</type>
        <value><use>cloudpos1_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos2_x</name>
        <type>float</type>
        <value><use>cloudpos2_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos2_y</name>
        <type>float</type>
        <value><use>cloudpos2_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos3_x</name>
        <type>float</type>
        <value><use>cloudpos3_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos3_y</name>
        <type>float</type>
        <value><use>cloudpos3_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos4_x</name>
        <type>float</type>
        <value><use>cloudpos4_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos4_y</name>
        <type>float</type>
        <value><use>cloudpos4_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos5_x</name>
        <type>float</type>
        <value><use>cloudpos5_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos5_y</name>
        <type>float</type>
        <value><use>cloudpos5_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos6_x</name>
        <type>float</type>
        <value><use>cloudpos6_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos6_y</name>
        <type>float</type>
        <value><use>cloudpos6_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos7_x</name>
        <type>float</type>
        <value><use>cloudpos7_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos7_y</name>
        <type>float</type>
        <value><use>cloudpos7_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos8_x</name>
        <type>float</type>
        <value><use>cloudpos8_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos8_y</name>
        <type>float</type>
        <value><use>cloudpos8_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos9_x</name>
        <type>float</type>
        <value><use>cloudpos9_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos9_y</name>
        <type>float</type>
        <value><use>cloudpos9_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos10_x</name>
        <type>float</type>
        <value><use>cloudpos10_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos10_y</name>
        <type>float</type>
        <value><use>cloudpos10_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos11_x</name>
        <type>float</type>
        <value><use>cloudpos11_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos11_y</name>
        <type>float</type>
        <value><use>cloudpos11_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos12_x</name>
        <type>float</type>
        <value><use>cloudpos12_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos12_y</name>
        <type>float</type>
        <value><use>cloudpos12_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos13_x</name>
        <type>float</type>
        <value><use>cloudpos13_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos13_y</name>
        <type>float</type>
        <value><use>cloudpos13_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos14_x</name>
        <type>float</type>
        <value><use>cloudpos14_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos14_y</name>
        <type>float</type>
        <value><use>cloudpos14_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos15_x</name>
        <type>float</type>
        <value><use>cloudpos15_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos15_y</name>
        <type>float</type>
        <value><use>cloudpos15_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos16_x</name>
        <type>float</type>
        <value><use>cloudpos16_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos16_y</name>
        <type>float</type>
        <value><use>cloudpos16_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos17_x</name>
        <type>float</type>
        <value><use>cloudpos17_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos17_y</name>
        <type>float</type>
        <value><use>cloudpos17_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos18_x</name>
        <type>float</type>
        <value><use>cloudpos18_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos18_y</name>
        <type>float</type>
        <value><use>cloudpos18_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos19_x</name>
        <type>float</type>
        <value><use>cloudpos19_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos19_y</name>
        <type>float</type>
        <value><use>cloudpos19_y</use></value>
      </uniform>
      <uniform>
        <name>cloudpos20_x</name>
        <type>float</type>
        <value><use>cloudpos20_x</use></value>
      </uniform>
      <uniform>
        <name>cloudpos20_y</name>
        <type>float</type>
        <value><use>cloudpos20_y</use></value>
      </uniform>
      <uniform>
        <name>cloud_shadow_flag</name>
        <type>int</type>
        <value><use>cloud_shadow_flag</use></value>
      </uniform>
      <uniform>
        <name>quality_level</name>
        <type>int</type>
        <value><use>quality_level</use></value>
      </uniform>
      <uniform>
        <name>tquality_level</name>
        <type>int</type>
        <value><use>tquality_level</use></value>
      </uniform>
      <uniform>
        <name>use_searchlight</name>
        <type>int</type>
        <value><use>use_searchlight</use></value>
      </uniform>
      <uniform>
        <name>use_landing_light</name>
        <type>int</type>
        <value>0</value>
      </uniform>
      <uniform>
        <name>use_alt_landing_light</name>
        <type>int</type>
        <value>0</value>
      </uniform>
      <uniform>
        <name>display_xsize</name>
        <type>int</type>
        <value><use>display_xsize</use></value>
      </uniform>
      <uniform>
        <name>display_ysize</name>
        <type>int</type>
        <value><use>display_ysize</use></value>
      </uniform>
      <uniform>
        <name>num_lightspots</name>
        <type>int</type>
        <value><use>num_lightspots</use></value>
      </uniform>
      <uniform>
        <name>overlay_flag</name>
        <type>int</type>
        <value><use>overlay_flag</use></value>
      </uniform>
      <uniform>
   <name>raise_vertex</name>
   <type>bool</type>
   <value>   <use>raise_vertex</use></value>
      </uniform>
      <uniform>
        <name>texture</name>
        <type>sampler-2d</type>
        <value type="int">0</value>
      </uniform>
      <uniform>
   <name>NormalTex</name>
   <type>sampler-2d</type>
   <value type="int">4</value>
      </uniform>
      <uniform>
        <name>colorMode</name>
        <type>int</type>
        <value>2</value>
        <!-- AMBIENT_AND_DIFFUSE -->
      </uniform>
      <!--<depth>
        <function>lequal</function>
      <write-mask type="bool">false</write-mask>
      </depth>-->
      <alpha-test>
        <comparison>greater</comparison>
        <reference type="float">0.4</reference>
      </alpha-test>
    </pass>
  </technique>
</PropertyList>

Here is detail of the instrument - especialy HSI and altimeter :

Image
As You can see on Altimeter, only some numbers with default model positions are with correct illumination.

Image
When altimeter is in default position as on .AC model, lighting is again correct :

Image

Default position of the HSI is rotated to the north, when I turn aircraft to the north and set radial, HSI is no longer in the dark :

Image

Please, can You help me to solve this problem ?
Fly high, fly fast - fly Concorde !
V12
 
Posts: 2757
Joined: Thu Jan 12, 2017 5:27 pm
Location: LZIB
Callsign: BAWV12

Re: Concorde cockpit redesign

Postby Thorsten » Sat Nov 11, 2017 12:34 pm

Please, can You help me to solve this problem ?



Probably not...

I don't believe the spotlight is the issue here - looking through your effect definitions, you're applying a terrain shader to the aircraft interior. Unlike the model shaders, the terrain mesh shaders operate on fixed coordinates - z is always up, x is always north, y is always east. The terrain mesh is never rotated in any way, so this coordinate mapping can be used for all sorts of useful things. But since your model definition introduces rotation, you're breaking the mapping.

Using a terrain shader for an aircraft interior opens a ton of various problems - you'll have snowcover and moisture drawn inside the aircraft, the aircraft interior may visibly fog in CAT III, clouds may cast shadows inside the aircraft, you may get steep surfaces drawn in rock overlay,...

Basically you can't run a terrain shader over a model and expect this to work - which is why we provide the model shader family.
Thorsten
 
Posts: 12490
Joined: Mon Nov 02, 2009 9:33 am

Re: Concorde cockpit redesign

Postby V12 » Sat Nov 11, 2017 4:25 pm

Thank You for explanation. Is possible use alone lightspot-ALS.frag fragment shader in the effect definition ?
Fly high, fly fast - fly Concorde !
V12
 
Posts: 2757
Joined: Thu Jan 12, 2017 5:27 pm
Location: LZIB
Callsign: BAWV12

Re: Concorde cockpit redesign

Postby Thorsten » Sat Nov 11, 2017 5:28 pm

If you know how to design effects (and possibly write a bit of GLSL) then yeah, anything is possible - but it's not exactly trivial to define your own custom case.
Thorsten
 
Posts: 12490
Joined: Mon Nov 02, 2009 9:33 am

Re: Concorde cockpit redesign

Postby V12 » Sat Nov 11, 2017 7:53 pm

I don't know how to design effect :( I tried add lightspot-ALS.frag fragment shader and its parameters to the model-interior.eff, but without success. Lighting from spotlights didn't work.
Fly high, fly fast - fly Concorde !
V12
 
Posts: 2757
Joined: Thu Jan 12, 2017 5:27 pm
Location: LZIB
Callsign: BAWV12

Re: Concorde cockpit redesign

Postby Thorsten » Sun Nov 12, 2017 7:36 pm

Well, it could be rigged.

The problem is, I don't think it's a good idea to do instrument panel illumination in screen space in the first place. So if I would rig it for you, you'd run into more issues... and probably hope that I have an idea how to fix these as well, slowly dragging me into a support scenario for something which I don't believe to be a good idea in the first place. Which ultimately is going to leave both of us dissatisfied.

My recommendation for panel lighting is a multi-channel lightmap. Yes, it'll be more work to modify an existing cockpit to support it, but once you do, you'll also be able to run the opacity map, the irradiance maps, forced irradiance and other goodies. The lighting scheme you'll get this way is the best FG can offer, and it's well tested and understood from the Shuttle.

If you want to go ahead with screen space, you're on your own on this, sorry.
Thorsten
 
Posts: 12490
Joined: Mon Nov 02, 2009 9:33 am

Re: Concorde cockpit redesign

Postby V12 » Sun Nov 12, 2017 8:15 pm

Yes, You are right, after many experiments I found that there is not way with spotlights. Lightmap is best solution. I will join panel with instruments in the future - it will be one model, then I will try make lightmaps and other stuff. For now, cockpit is usable with 3 spotlights, but with some compromises.
Fly high, fly fast - fly Concorde !
V12
 
Posts: 2757
Joined: Thu Jan 12, 2017 5:27 pm
Location: LZIB
Callsign: BAWV12

Re: Concorde cockpit redesign

Postby V12 » Tue Nov 14, 2017 7:47 pm

New afterburner ALS flames based on the richard's F15 published on the wiki :

Image

... and better cockpit night lighting :

Image

Next step - attempt to make 3D engineer's panel.
Fly high, fly fast - fly Concorde !
V12
 
Posts: 2757
Joined: Thu Jan 12, 2017 5:27 pm
Location: LZIB
Callsign: BAWV12

Re: Concorde cockpit redesign

Postby V12 » Fri Nov 17, 2017 8:07 pm

I added engine's fan and animated intake ramps.
Fly high, fly fast - fly Concorde !
V12
 
Posts: 2757
Joined: Thu Jan 12, 2017 5:27 pm
Location: LZIB
Callsign: BAWV12

Re: Concorde cockpit redesign

Postby Thorsten » Sat Nov 18, 2017 7:11 am

I don't think the Concorde afterburners have such pronounced flames, and I've never seen them with shock diamonds.
Thorsten
 
Posts: 12490
Joined: Mon Nov 02, 2009 9:33 am

Re: Concorde cockpit redesign

Postby Airliner » Sat Nov 18, 2017 8:05 pm

Download link?
Airliner
 
Posts: 20
Joined: Thu Nov 16, 2017 8:49 pm
IRC name: Delta77

Re: Concorde cockpit redesign

Postby V12 » Sat Nov 18, 2017 10:44 pm

I successfully added ALS landing lights in external view based on Cessna 172p Nasal light-manager.

Thorsten :
I will fine tune flames, this is first attempt.

Airliner :
https://github.com/BAWV12/Concorde
Fly high, fly fast - fly Concorde !
V12
 
Posts: 2757
Joined: Thu Jan 12, 2017 5:27 pm
Location: LZIB
Callsign: BAWV12

Re: Concorde cockpit redesign

Postby V12 » Sun Nov 19, 2017 10:08 am

Real Concorde afterburners :

Image

... and model :

Image

Yes, should be bit shorter.

And :

Image

:mrgreen:
Fly high, fly fast - fly Concorde !
V12
 
Posts: 2757
Joined: Thu Jan 12, 2017 5:27 pm
Location: LZIB
Callsign: BAWV12

Re: Concorde cockpit redesign

Postby V12 » Sun Nov 19, 2017 5:43 pm

LZIB - Night take off, view from tower :

Image

External view with ALS spotlights. Works fine, but not in MP, because spotlight count is limited to 5.
Fly high, fly fast - fly Concorde !
V12
 
Posts: 2757
Joined: Thu Jan 12, 2017 5:27 pm
Location: LZIB
Callsign: BAWV12

PreviousNext

Return to Cockpit development

Who is online

Users browsing this forum: No registered users and 1 guest