From be53f07e7a0447a14aa44c703b737ed8b89ada7b Mon Sep 17 00:00:00 2001 From: Vivian Meazza Date: Wed, 4 Aug 2010 23:22:38 +0100 Subject: [PATCH 1/7] Add script to calculate contrail temperature based on an approximation to the "Appleman Chart" Signed-off-by: Vivian Meazza --- Nasal/contrail.nas | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Nasal/contrail.nas diff --git a/Nasal/contrail.nas b/Nasal/contrail.nas new file mode 100644 index 000000000..167759324 --- /dev/null +++ b/Nasal/contrail.nas @@ -0,0 +1,39 @@ +######### +# contrail calculator. Based on an approxmation to the "Appleman Chart" +# y = -0.077x2 + 2.7188x - 64.36 +# +######## + +updateContrail = func{ + var pressure_Node = props.globals.getNode("environment/pressure-inhg"); + var temperature_Node = props.globals.getNode("environment/temperature-degc"); + var contrail_Node = props.globals.getNode("environment/contrail"); + var contrail_temp_Node = props.globals.getNode("environment/contrail-temperature-degc"); + + var x = pressure_Node.getValue(); + var y = temperature_Node.getValue(); + var con_temp = -0.077 * x * x + 2.7188 * x - 64.36; + contrail_temp_Node.setValue(con_temp); + + if (y < con_temp and y < -40){ + contrail_Node.setValue(1); + } else { + contrail_Node.setValue(0); + } + + settimer(updateContrail,30) +} + +### Contrail + +print ("init contrail"); +_setlistener("/sim/signals/nasal-dir-initialized", func { + props.globals.initNode("environment/pressure-inhg", 1, "DOUBLE"); + props.globals.initNode("environment/temperature-degc", 1, "DOUBLE"); + props.globals.initNode("environment/contrail", 1, "BOOL"); + props.globals.initNode("environment/contrail-temperature-degc", 1, "DOUBLE"); + var static_contrail_node = props.globals.getNode("sim/ai/aircraft/contrail", 1); + var time_node = props.globals.getNode("sim/time/elapsed-sec", 1); + + updateContrail(); +}); From 2742085d694acb87a78e2f1873e446593e5d60ca Mon Sep 17 00:00:00 2001 From: Vivian Meazza Date: Thu, 5 Aug 2010 09:07:51 +0100 Subject: [PATCH 2/7] Contrail calculator. Based on an approximation to the "Appleman Chart" Signed-off-by: Vivian Meazza --- Nasal/contrail.nas | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Nasal/contrail.nas diff --git a/Nasal/contrail.nas b/Nasal/contrail.nas new file mode 100644 index 000000000..167759324 --- /dev/null +++ b/Nasal/contrail.nas @@ -0,0 +1,39 @@ +######### +# contrail calculator. Based on an approxmation to the "Appleman Chart" +# y = -0.077x2 + 2.7188x - 64.36 +# +######## + +updateContrail = func{ + var pressure_Node = props.globals.getNode("environment/pressure-inhg"); + var temperature_Node = props.globals.getNode("environment/temperature-degc"); + var contrail_Node = props.globals.getNode("environment/contrail"); + var contrail_temp_Node = props.globals.getNode("environment/contrail-temperature-degc"); + + var x = pressure_Node.getValue(); + var y = temperature_Node.getValue(); + var con_temp = -0.077 * x * x + 2.7188 * x - 64.36; + contrail_temp_Node.setValue(con_temp); + + if (y < con_temp and y < -40){ + contrail_Node.setValue(1); + } else { + contrail_Node.setValue(0); + } + + settimer(updateContrail,30) +} + +### Contrail + +print ("init contrail"); +_setlistener("/sim/signals/nasal-dir-initialized", func { + props.globals.initNode("environment/pressure-inhg", 1, "DOUBLE"); + props.globals.initNode("environment/temperature-degc", 1, "DOUBLE"); + props.globals.initNode("environment/contrail", 1, "BOOL"); + props.globals.initNode("environment/contrail-temperature-degc", 1, "DOUBLE"); + var static_contrail_node = props.globals.getNode("sim/ai/aircraft/contrail", 1); + var time_node = props.globals.getNode("sim/time/elapsed-sec", 1); + + updateContrail(); +}); From 4ae670966394e45ee0e70eab4bc3baf4e2c42e0f Mon Sep 17 00:00:00 2001 From: Vivian Meazza Date: Thu, 5 Aug 2010 16:13:03 +0100 Subject: [PATCH 3/7] Add new submodel parameters Signed-off-by: Vivian Meazza --- Docs/README.submodels | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/Docs/README.submodels b/Docs/README.submodels index 935bfea00..4b447b670 100644 --- a/Docs/README.submodels +++ b/Docs/README.submodels @@ -23,6 +23,10 @@ adequate for smoke effects, etc., for bullets, bombs, droptanks this is probably best left at "False". Since the effects of wind on various ballistic objects is uncertain, there is no plan to change this situation. + + 4. Submodels can be ensted to any depth, thus a submodel on expiry or impact etc, + can launch a child submodel, which in turn can launch a submodel. and so on. This + is the basis for Persistent Contrails, but any use is possible. The initial conditions (IC) define the object's starting point (relative to the user aircraft's "reported position"), and its initial speed and @@ -39,14 +43,15 @@ Time, in seconds, between repeated releases. Number of submodels available for multiple release. -1 defines an unlimited number. - Not used yet. + If true, the submodel is slaved to the parent model. Submodel's initial fore/aft position (in feet), relative to user aircraft. Fore is positive. Submodel's initial left/right position (in feet), relative to user aircraft. Right is positive. Submodel's initial up/down position (in feet), relative to user aircraft. Up is positive. Submodel's initial azimuth, in degrees, relative to user aircraft'snose. Right is positive. Submodel's initial elevation, in degrees, relative to user aircraft's pitch. Up is positive. - Life span in seconds. Default is 900.0. + Life span in seconds. + Default is 900.0. In ft/sec/sec. Works opposite acceleration of gravity. For example, if set to 32 the submodel will feel no gravity. If greater than 32 the object will rise. @@ -58,10 +63,20 @@ The weight of the submodel (lbs). NOT set to 0 on submodel release. You may wish to set this value to 0 by means of key bindings or Nasal script. Defaults to 0.25. The path to the contents of a submodel. The contents must be in lbs. Intended for use with drop tanks. The property value will be set to 0 on release of the submodel: do not also set to 0 elsewhere e.g. in key bindings. Defaults to 0. - Varies CD by +- 5%. + Varies CD by +- 10%, initial azimuth by +- 10 degs, and life by + If is true, is applied to . 0 > Value < 1 are valid. + Defaults to 0.5. If true the submodel does not roll. - If true, the impact location (lat/lon) on the terrain is calculated. The Material (e.g Grass)of the terrain, load resistance, impact velocity and energy are returned. Altitude agl is calculated. - Defines a report node. When an impact happens, then the path of the submodel will be written to this node. An attached listener function can evaluate the impact properties. If unset, reports go to /ai/models/model-impact. + If true, the impact location (lat/lon) on the terrain is calculated. The Material + (e.g Grass)of the terrain, load resistance, and impact velocity. Altitude agl is calculated. + If true, collisions with other objects is tested. If a collision is detected then + the position data are written to the "Report Node". + Used in detecting collisions. The distance in feet between an object and a submodel + at which a collision is deemed to have occurred. + If true, the current position of the submodel is written to the "Report Node" when the submodel life expires. + Defines a "Report Node". When an impact happens, then the path of the submodel will be written to this node. + An attached listener function can evaluate the impact properties. If unset, + reports go to /ai/models/model-impact. ***** experimental **** If true the submodel is subjected to an external force A string describing the property where the magnitude, azimuth and elevation of the external force is to be found. The following child properties are instantiated: From bf6b525c3432094b3fa58ab60927ca05cf589b7e Mon Sep 17 00:00:00 2001 From: Vivian Meazza Date: Thu, 5 Aug 2010 16:41:43 +0100 Subject: [PATCH 4/7] Add new submodel parameters Signed-off-by: Vivian Meazza --- Docs/README.submodels | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/Docs/README.submodels b/Docs/README.submodels index 935bfea00..4b447b670 100644 --- a/Docs/README.submodels +++ b/Docs/README.submodels @@ -23,6 +23,10 @@ adequate for smoke effects, etc., for bullets, bombs, droptanks this is probably best left at "False". Since the effects of wind on various ballistic objects is uncertain, there is no plan to change this situation. + + 4. Submodels can be ensted to any depth, thus a submodel on expiry or impact etc, + can launch a child submodel, which in turn can launch a submodel. and so on. This + is the basis for Persistent Contrails, but any use is possible. The initial conditions (IC) define the object's starting point (relative to the user aircraft's "reported position"), and its initial speed and @@ -39,14 +43,15 @@ Time, in seconds, between repeated releases. Number of submodels available for multiple release. -1 defines an unlimited number. - Not used yet. + If true, the submodel is slaved to the parent model. Submodel's initial fore/aft position (in feet), relative to user aircraft. Fore is positive. Submodel's initial left/right position (in feet), relative to user aircraft. Right is positive. Submodel's initial up/down position (in feet), relative to user aircraft. Up is positive. Submodel's initial azimuth, in degrees, relative to user aircraft'snose. Right is positive. Submodel's initial elevation, in degrees, relative to user aircraft's pitch. Up is positive. - Life span in seconds. Default is 900.0. + Life span in seconds. + Default is 900.0. In ft/sec/sec. Works opposite acceleration of gravity. For example, if set to 32 the submodel will feel no gravity. If greater than 32 the object will rise. @@ -58,10 +63,20 @@ The weight of the submodel (lbs). NOT set to 0 on submodel release. You may wish to set this value to 0 by means of key bindings or Nasal script. Defaults to 0.25. The path to the contents of a submodel. The contents must be in lbs. Intended for use with drop tanks. The property value will be set to 0 on release of the submodel: do not also set to 0 elsewhere e.g. in key bindings. Defaults to 0. - Varies CD by +- 5%. + Varies CD by +- 10%, initial azimuth by +- 10 degs, and life by + If is true, is applied to . 0 > Value < 1 are valid. + Defaults to 0.5. If true the submodel does not roll. - If true, the impact location (lat/lon) on the terrain is calculated. The Material (e.g Grass)of the terrain, load resistance, impact velocity and energy are returned. Altitude agl is calculated. - Defines a report node. When an impact happens, then the path of the submodel will be written to this node. An attached listener function can evaluate the impact properties. If unset, reports go to /ai/models/model-impact. + If true, the impact location (lat/lon) on the terrain is calculated. The Material + (e.g Grass)of the terrain, load resistance, and impact velocity. Altitude agl is calculated. + If true, collisions with other objects is tested. If a collision is detected then + the position data are written to the "Report Node". + Used in detecting collisions. The distance in feet between an object and a submodel + at which a collision is deemed to have occurred. + If true, the current position of the submodel is written to the "Report Node" when the submodel life expires. + Defines a "Report Node". When an impact happens, then the path of the submodel will be written to this node. + An attached listener function can evaluate the impact properties. If unset, + reports go to /ai/models/model-impact. ***** experimental **** If true the submodel is subjected to an external force A string describing the property where the magnitude, azimuth and elevation of the external force is to be found. The following child properties are instantiated: From 8aa66f9788d09d2697cdaaf635708ad3269fe182 Mon Sep 17 00:00:00 2001 From: Vivian Meazza Date: Fri, 6 Aug 2010 14:31:31 +0100 Subject: [PATCH 5/7] Make persistent contrail models generic Signed-off-by: Vivian Meazza --- .../Effects/PersistentContrails/contrail.ac | 194 +++++++++ .../Effects/PersistentContrails/contrail.png | Bin 0 -> 7043 bytes .../Effects/PersistentContrails/contrail20.ac | 384 ++++++++++++++++++ 3 files changed, 578 insertions(+) create mode 100644 Aircraft/Generic/Effects/PersistentContrails/contrail.ac create mode 100644 Aircraft/Generic/Effects/PersistentContrails/contrail.png create mode 100644 Aircraft/Generic/Effects/PersistentContrails/contrail20.ac diff --git a/Aircraft/Generic/Effects/PersistentContrails/contrail.ac b/Aircraft/Generic/Effects/PersistentContrails/contrail.ac new file mode 100644 index 000000000..a2b74e7aa --- /dev/null +++ b/Aircraft/Generic/Effects/PersistentContrails/contrail.ac @@ -0,0 +1,194 @@ +AC3Db +MATERIAL "ac3dmat1" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 1 1 1 shi 100 trans 0.482 +OBJECT world +kids 10 +OBJECT poly +name "rect1" +loc -0.242457 -0.06195 -1.19202e-006 +texture "contrail.png" +crease 45.000000 +numvert 4 +0 -24.938 -25 +0 -24.938 25 +0 25.062 25 +0 25.062 -25 +numsurf 1 +SURF 0x0 +mat 0 +refs 4 +3 -0.046875 1.04687 +2 1.04687 1.04687 +1 1.04687 -0.0468746 +0 -0.046875 -0.0468746 +kids 0 +OBJECT poly +name "rect2" +loc -0.188577 -0.06195 -1.19202e-006 +texture "contrail.png" +crease 45.000000 +numvert 4 +0 25.062 -25 +0 25.062 25 +0 -24.938 25 +0 -24.938 -25 +numsurf 1 +SURF 0x0 +mat 0 +refs 4 +0 -0.046875 1.04687 +1 1.04687 1.04687 +2 1.04687 -0.0468746 +3 -0.046875 -0.0468746 +kids 0 +OBJECT poly +name "rect3" +loc -0.134698 -0.06195 -1.19202e-006 +texture "contrail.png" +crease 45.000000 +numvert 4 +0 -24.938 -25 +0 -24.938 25 +0 25.062 25 +0 25.062 -25 +numsurf 1 +SURF 0x0 +mat 0 +refs 4 +3 -0.046875 1.04687 +2 1.04687 1.04687 +1 1.04687 -0.0468746 +0 -0.046875 -0.0468746 +kids 0 +OBJECT poly +name "rect4" +loc -0.0808192 -0.06195 -1.19202e-006 +texture "contrail.png" +crease 45.000000 +numvert 4 +0 25.062 -25 +0 25.062 25 +0 -24.938 25 +0 -24.938 -25 +numsurf 1 +SURF 0x0 +mat 0 +refs 4 +0 -0.046875 1.04687 +1 1.04687 1.04687 +2 1.04687 -0.0468746 +3 -0.046875 -0.0468746 +kids 0 +OBJECT poly +name "rect5" +loc -0.0269392 -0.06195 -1.19202e-006 +texture "contrail.png" +crease 45.000000 +numvert 4 +0 -24.938 -25 +0 -24.938 25 +0 25.062 25 +0 25.062 -25 +numsurf 1 +SURF 0x0 +mat 0 +refs 4 +3 -0.046875 1.04687 +2 1.04687 1.04687 +1 1.04687 -0.0468746 +0 -0.046875 -0.0468746 +kids 0 +OBJECT poly +name "rect6" +loc 0.0269398 -0.06195 -1.19202e-006 +texture "contrail.png" +crease 45.000000 +numvert 4 +0 25.062 -25 +0 25.062 25 +0 -24.938 25 +0 -24.938 -25 +numsurf 1 +SURF 0x0 +mat 0 +refs 4 +0 -0.046875 1.04687 +1 1.04687 1.04687 +2 1.04687 -0.0468746 +3 -0.046875 -0.0468746 +kids 0 +OBJECT poly +name "rect7" +loc 0.0808188 -0.06195 -1.19202e-006 +texture "contrail.png" +crease 45.000000 +numvert 4 +0 -24.938 -25 +0 -24.938 25 +0 25.062 25 +0 25.062 -25 +numsurf 1 +SURF 0x0 +mat 0 +refs 4 +3 -0.046875 1.04687 +2 1.04687 1.04687 +1 1.04687 -0.0468746 +0 -0.046875 -0.0468746 +kids 0 +OBJECT poly +name "rect8" +loc 0.134698 -0.06195 -1.19202e-006 +texture "contrail.png" +crease 45.000000 +numvert 4 +0 25.062 -25 +0 25.062 25 +0 -24.938 25 +0 -24.938 -25 +numsurf 1 +SURF 0x0 +mat 0 +refs 4 +0 -0.046875 1.04687 +1 1.04687 1.04687 +2 1.04687 -0.0468746 +3 -0.046875 -0.0468746 +kids 0 +OBJECT poly +name "rect9" +loc 0.188578 -0.06195 -1.19202e-006 +texture "contrail.png" +crease 45.000000 +numvert 4 +0 -24.938 -25 +0 -24.938 25 +0 25.062 25 +0 25.062 -25 +numsurf 1 +SURF 0x0 +mat 0 +refs 4 +3 -0.046875 1.04687 +2 1.04687 1.04687 +1 1.04687 -0.0468746 +0 -0.046875 -0.0468746 +kids 0 +OBJECT poly +name "rect10" +loc 0.242457 -0.06195 -1.19202e-006 +texture "contrail.png" +crease 45.000000 +numvert 4 +0 25.062 -25 +0 25.062 25 +0 -24.938 25 +0 -24.938 -25 +numsurf 1 +SURF 0x0 +mat 0 +refs 4 +0 -0.046875 1.04687 +1 1.04687 1.04687 +2 1.04687 -0.0468746 +3 -0.046875 -0.0468746 +kids 0 diff --git a/Aircraft/Generic/Effects/PersistentContrails/contrail.png b/Aircraft/Generic/Effects/PersistentContrails/contrail.png new file mode 100644 index 0000000000000000000000000000000000000000..3a7f8063047713b8a7c60d7d6db6ba5fcc11cadf GIT binary patch literal 7043 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 h0j|f@1zZp7_ Date: Fri, 6 Aug 2010 22:04:35 +0100 Subject: [PATCH 6/7] Merge branch 'master' of git://gitorious.org/fg/fgdata From c1e565403b523ce55933e84915e876e99ed367a1 Mon Sep 17 00:00:00 2001 From: Vivian Meazza Date: Sat, 7 Aug 2010 11:13:26 +0100 Subject: [PATCH 7/7] Adjust contrail parameters, add missing file Signed-off-by: Vivian Meazza --- Shaders/contrail.vert | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Shaders/contrail.vert b/Shaders/contrail.vert index 7f4e86439..c738a452d 100644 --- a/Shaders/contrail.vert +++ b/Shaders/contrail.vert @@ -90,7 +90,7 @@ void main(void) gl_FrontColor += gl_FrontLightModelProduct.sceneColor; // As we get within 100m of the sprite, it is faded out. Equally at large distances it also fades out. - gl_FrontColor.a = min(smoothstep(10.0, 100.0, fogCoord), 1 - smoothstep(30000.0, 40000.0, fogCoord)); + gl_FrontColor.a = min(smoothstep(10.0, 100.0, fogCoord), 1 - smoothstep(60000.0, 80000.0, fogCoord)); gl_BackColor = gl_FrontColor; // Fog doesn't affect clouds as much as other objects.