Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
e13558d
Issue #37: test of the new cockpit mesh. Overhead included for testin…
Feb 15, 2017
419751d
cockpit update: more details
Feb 17, 2017
66636ee
Merge branch 'master' of https://github.com/HHS81/do328 into Issue37
Mar 1, 2017
5a70b1e
updated flightdeck model - vertice normals checked, and some smaller …
Mar 1, 2017
9686fa8
now every vertice normal is correct
Mar 1, 2017
7a2223e
Issue #37: uvmapped mainpanel. Needs seperating of animated objects,
Mar 1, 2017
1767815
Issue #37: MainPanel UVMap changed
Mar 1, 2017
d3a1ef9
Merge branch 'master' of https://github.com/HHS81/do328 into Issue#37…
Mar 4, 2017
d322ce4
Merge branch 'master' into Issue37
xcvb85 May 27, 2017
ebbb8cc
Fix case sensitivity issue
xcvb85 May 27, 2017
06f777c
Merge branch 'master' of https://github.com/HHS81/do328 into Issue37
Jun 18, 2017
4888df7
add new texture maps
Jul 9, 2017
cd4044e
shorten cabin-model, and remove doubles
Jul 9, 2017
a1f0447
seperate button and rename them
Jul 9, 2017
d0a8454
Animating the flightdeck with controlls, tiller, pedals, sunshades; I…
Jul 9, 2017
384e610
adding the magnetic compass, Issue#37
Jul 9, 2017
e216cac
Merge branch 'Issue37' of https://github.com/HHS81/do328 into Issue37
Jul 9, 2017
f1c942a
animation seats, textures and more
Aug 6, 2017
19cb359
More update - but window heat vents needs a better solution
Sep 3, 2017
e7bef65
Basic textures for Ceiling, walls and seats
Sep 3, 2017
efd8ccd
MFD improved
xcvb85 Sep 8, 2017
b74bdc4
basic texture for controls and center pedestal
Sep 9, 2017
17847e9
select animation for the different center pedestal objects, to reflec…
Sep 9, 2017
81d04cd
Major geometry changes to the flightdeck to better detailed cockpit s…
Sep 10, 2017
3f7bde3
common amber color #ffd700 and exceedance page added (colors are a gu…
xcvb85 Sep 10, 2017
cdf9c78
correct flap lever animation
Sep 10, 2017
abbac6a
bugfix screens
Sep 10, 2017
3408db7
MFD zooming implemented
xcvb85 Sep 10, 2017
70179c1
adding jumpseat view, copilot view, dashcam view and tailcam view
Sep 10, 2017
633c690
adjust eye position indicator; adjust compass placard, and fix instru…
Sep 10, 2017
82bf77e
Update of textures, and small corrections
Sep 10, 2017
74a3228
Better pitch control parameters
xcvb85 Sep 17, 2017
db53792
adding safety placards; changed position of control wheels; some chan…
Sep 17, 2017
cbd53c7
Merge branch 'master' into Issue38
xcvb85 Sep 19, 2017
f20d795
MFD sub-menu 'Test' added and some other improvements
xcvb85 Oct 5, 2017
849bca6
New softkey actions added (required for RADAR and FMS configuration, …
xcvb85 Oct 7, 2017
3bf9fec
MFD settings now working and first tests with weather radar
xcvb85 Oct 8, 2017
99fab40
New CDU from latest Citation X
xcvb85 Jan 6, 2018
9bb45ce
MFD improved
xcvb85 Jan 7, 2018
8b7657b
Merge branch 'master' into issue17
xcvb85 Jan 7, 2018
bd22673
Merge conflicts fixed and squelch added (RCU/RMU)
xcvb85 Jan 7, 2018
0c75ba2
Merge branch 'Issue37' into Issue73
xcvb85 Jan 8, 2018
56690be
First buttons on OHP improved
xcvb85 Jan 12, 2018
94de765
Wheel animation added, cutoff animation added and APU added
xcvb85 Jan 13, 2018
d78894f
Some cockpit improvements
xcvb85 Jan 14, 2018
5b1c98e
Merge branch 'Issue38' into Issue73
xcvb85 Jan 15, 2018
2c9cb6c
weather radar added
xcvb85 Jan 16, 2018
95f8797
wxradar improved
xcvb85 Jan 16, 2018
75111f6
Merge branch 'issue17' into Issue73
xcvb85 Jan 16, 2018
349fdcd
wxradar now shows clouds from all tiles
xcvb85 Jan 19, 2018
43e379c
NonEssBus added to electric page
xcvb85 Jan 25, 2018
88736cf
Merge branch 'issue17' into Issue73
xcvb85 Jan 25, 2018
3856f3e
Gear lever working now and AP dialog replaced with real one
xcvb85 Jan 28, 2018
a46889e
latest ohp texture before big restructuring added
xcvb85 Jan 28, 2018
f2adf7a
APU can now be started with OHP
xcvb85 Feb 3, 2018
332fc11
APU system pages updated
xcvb85 Feb 3, 2018
e38714b
Now you can start the engines manually
xcvb85 Feb 4, 2018
e6cce6f
new reverse latch animation and F11 button fixed
Feb 4, 2018
cae1d19
DC-Bus 7-segment displays working now
xcvb85 Feb 5, 2018
79cae8a
pressurization system and autopilot dialog improved
xcvb85 Feb 7, 2018
366d983
performance improvement: maketimer instead of settimer
xcvb85 Feb 8, 2018
131756d
CRT shader added
xcvb85 Mar 1, 2018
8ddc87d
bugfix
xcvb85 Mar 20, 2018
92e7ba2
replacing quick and dirty softkey menus with better solution
xcvb85 Mar 20, 2018
79b449e
softkey switches working again
xcvb85 Mar 30, 2018
9aee92b
EICAS switched to new framework
xcvb85 Mar 30, 2018
ce89f79
Merge branch 'issue17' into Issue73
xcvb85 Mar 30, 2018
a13a89e
pages now array instead of hash
xcvb85 Apr 1, 2018
76b5210
MFD tests working again
xcvb85 Apr 1, 2018
9bc63b3
Electrical system fixed
xcvb85 Apr 3, 2018
51f3b4e
several bugfixes/improvements
xcvb85 Apr 7, 2018
25e5dde
cpcs page working now
xcvb85 Apr 7, 2018
1def110
basic approach mode added to autopilot and some bugfixes
xcvb85 Apr 8, 2018
c1e8ae9
EICAS framework cleanup and autopilot dialog improvements
xcvb85 Jul 1, 2018
776657d
frequency saving implemented
xcvb85 Oct 7, 2018
012cdb8
new cdu font
xcvb85 Oct 12, 2018
ba59e95
font improved
xcvb85 Oct 13, 2018
e18fced
mls page added and frequency saving improved
xcvb85 Oct 14, 2018
4dd827c
electrical system improved
xcvb85 Oct 20, 2018
1c5701c
crt shader improved
xcvb85 Nov 15, 2018
6b75c1b
shader improved and new software versions page
xcvb85 Dec 2, 2018
cd1272f
make shaders optional
xcvb85 Dec 4, 2018
109537a
some improvements
xcvb85 Jan 22, 2019
f25cf5a
EFIS menus updated
xcvb85 May 17, 2020
cdfeb53
CRT effect ported to compositor
xcvb85 May 17, 2020
60daa5d
launcher optimization
xcvb85 May 17, 2020
6fead8c
bugfix
xcvb85 May 17, 2020
4a811a2
advanced switch softkeys added
xcvb85 May 18, 2020
8abf42e
Quickfix for bug reported on Discord by D-Echo
xcvb85 May 9, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions Engines/apu.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?xml version="1.0"?>
<!--
File: tsa-6a.xml
Author: Yurik V. Nikiforoff, and Aero-Matic v 0.8

APU for Tu-154


Inputs:
name: tsa-6a
type: turbine
augmented? no
injected? no
-->

<turbine_engine name="tsa-6a">
<milthrust> 100 </milthrust>
<bypassratio> 3.0 </bypassratio>
<tsfc> 5.2 </tsfc>
<bleed> 0.05</bleed>
<idlen1> 30.0 </idlen1>
<idlen2> 25.0 </idlen2>
<maxn1> 100.0 </maxn1>
<maxn2> 100.0 </maxn2>
<augmented> 0 </augmented>
<injected> 0 </injected>

<function name="IdleThrust">
<value>1.0</value>
</function>

<function name="MilThrust">
<value>1.0</value>
</function>


</turbine_engine>
Binary file added Fonts/BoeingCDU-Fixed.ttf
Binary file not shown.
Binary file modified Fonts/honeywellfont.ttf
Binary file not shown.
Binary file removed Models/BackWall.png
Binary file not shown.
Binary file removed Models/Buttons.png
Binary file not shown.
Binary file added Models/Ceiling.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Models/Center.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Models/Center2.png
Binary file not shown.
Binary file added Models/Controlls.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
106 changes: 106 additions & 0 deletions Models/Effects/do328-crt.eff
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8"?>
<PropertyList>
<name>do328-crt</name>
<inherits-from>Effects/model-default</inherits-from>
<parameters>
<!-- Dirt -->
<texture n="4">
<image>Aircraft/do328/Models/Effects/fingerprints.jpg</image>
<type>2d</type>
<filter>linear-mipmap-linear</filter>
<wrap-s>clamp</wrap-s>
<wrap-t>clamp</wrap-t>
<internal-format>normalized</internal-format>
</texture>
<texture n="6">
<image>Aircraft/do328/Models/Effects/scanlines.png</image>
<type>2d</type>
<filter>linear-mipmap-linear</filter>
<wrap-s>repeat</wrap-s>
<wrap-t>repeat</wrap-t>
<internal-format>normalized</internal-format>
</texture>
<display-enabled type="int">
<use>systems/electrical/outputs/efis</use>
</display-enabled>
</parameters>

<technique n="5">
<predicate>
<and>
<property>/sim/rendering/shaders/quality-level</property>
<property>/sim/rendering/shaders/model</property>
<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>
<!-- Base texture unit-->
<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>
<!-- Dirt texture unit-->
<texture-unit>
<unit>1</unit>
<image><use>texture[4]/image</use></image>
<type><use>texture[4]/type</use></type>
<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>
<!-- scanline texture unit-->
<texture-unit>
<unit>3</unit>
<image><use>texture[6]/image</use></image>
<type><use>texture[6]/type</use></type>
<filter><use>texture[6]/filter</use></filter>
<wrap-s><use>texture[6]/wrap-s</use></wrap-s>
<wrap-t><use>texture[6]/wrap-t</use></wrap-t>
<internal-format><use>texture[6]/internal-format</use></internal-format>
</texture-unit>

<program>
<fragment-shader>Aircraft/do328/Models/Effects/do328-crt.frag</fragment-shader>
</program>

<uniform>
<name>BaseTex</name>
<type>sampler-2d</type>
<value type="int">0</value>
</uniform>
<uniform>
<name>DirtTex</name>
<type>sampler-2d</type>
<value type="int">1</value>
</uniform>
<uniform>
<name>Scanlines</name>
<type>sampler-2d</type>
<value type="int">3</value>
</uniform>
<uniform>
<name>display_enabled</name>
<type>int</type>
<value><use>display-enabled</use></value>
</uniform>
</pass>
</technique>
</PropertyList>

109 changes: 109 additions & 0 deletions Models/Effects/do328-crt.frag
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
#version 120

uniform float osg_SimulationTime;

uniform sampler2D BaseTex;
uniform sampler2D DirtTex;
uniform sampler2D Scanlines;
uniform samplerCube Environment;

uniform int display_enabled;

float SCANTHICK = 2.0;
float INTENSITY = 0.15;
float BRIGHTBOOST = 0.15;
float DISTORTION = 0.03;
float THRESHOLD = 0.05;

vec2 TextureSize = vec2(800, 950);

vec4 bloomTexture2D(sampler2D texture, vec2 texCoords)
{
vec4 texel = vec4(0, 0, 0, 0);
float blur = 0.4;
int size = 3;

for(int x = -size; x <= size; x++)
{
for(int y = -size; y <= size; y++)
{
texel += texture2D(texture, texCoords + vec2(x/TextureSize.x, y/TextureSize.y));
}
}
return (blur*texel/pow((2*size)+1, 2) + (1.0-blur)*texture2D(texture, texCoords));
}

vec2 distort(vec2 position)
{
position = vec2(2.0 * position - 1.0);
position = position /(1.0 - DISTORTION * length(position));
position =(position + 1.0) * 0.5;
return position;
}

vec3 frame(vec2 position, vec3 color)
{
// intersection between two ellipses and four circles
position -= vec2(0.5);
position *= vec2(2.0);

float x2 = position.x * position.x;
float y2 = position.y * position.y;

if((x2/0.87) +(y2/20) > 1 ||
(x2/40) +(y2/0.9) > 1) {
color = vec3(0.0, 0.0, 0.0);
}

if( length(position) > 1.24 &&
length(abs(position)-vec2(0.82, 0.84)) > 0.1) {
color = vec3(0.0, 0.0, 0.0);
}
return color;
}

vec3 scanline(vec3 texel)
{
vec3 scanlines = texture2D(Scanlines, vec2(150, 300)*gl_TexCoord[0].xy).rgb;
texel *= 1.5*scanlines;
return texel;
}

vec3 backlight(vec3 color)
{
if(color.r < THRESHOLD && color.g < THRESHOLD && color.b < THRESHOLD) {
color = vec3(THRESHOLD, THRESHOLD, THRESHOLD);
}
return color;
}

vec3 flickering(vec2 position, vec3 texel)
{
texel *= 0.95+0.05*(1-mod(5*osg_SimulationTime+position.y, 1.0));
return texel;
}

void main()
{
vec3 texel = vec3(0.0, 0.0, 0.0);
vec3 dirt = 0.1*texture2D(DirtTex, gl_TexCoord[0].xy).rgb;

// crt-effect
if(display_enabled > 0) {
vec2 position = distort(gl_TexCoord[0].xy);

if(position.x > 0.0 && position.y > 0.0 && position.x < 1.0 && position.y < 1.0) {
texel = texture2D(BaseTex, position).rgb;
// texel = bloomTexture2D(BaseTex, position).rgb;
texel = backlight(texel);
texel = scanline(texel);
texel = flickering(position, texel);
}
texel = frame(position, texel);
}

texel += dirt;
texel = clamp(texel, 0.0, 1.0);

gl_FragColor = vec4(texel, 1.0);
}
84 changes: 84 additions & 0 deletions Models/Effects/do328-lcd.frag
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
#version 120

varying vec3 VNormal;
varying vec3 vViewVec;
varying vec3 reflVec;

uniform sampler2D BaseTex;
uniform sampler2D DirtTex;

uniform int display_enabled;
uniform int display_autobright;
uniform float display_brightness;

vec3 rgb2hsv(vec3 c)
{
vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));
vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));

float d = q.x - min(q.w, q.y);
float e = 1.0e-10;
return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
}

vec3 hsv2rgb(vec3 c)
{
vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
}

float specular()
{
float NdotL;
vec4 specular = vec4(0.0);
vec3 n = normalize(VNormal);
vec3 lightDir = gl_LightSource[0].position.xyz;
vec3 halfVector = normalize(gl_LightSource[0].halfVector.xyz);

NdotL = max(dot(n, lightDir), 0.0);

return NdotL;
}

void main(void)
{
vec3 texel = vec3(0.0, 0.0, 0.0);
float brightness = display_brightness;

if(display_enabled > 0) {
// get texel from texture
texel = texture2D(BaseTex, gl_TexCoord[0].st).rgb;

// the following operations can only be done in hsv scope
texel = rgb2hsv(texel);

if(display_autobright > 0) {
brightness = 0.4 + 0.6 * specular();
if(brightness > 1.0) brightness = 1.0;
}

// apply brightness
texel.z *= brightness;

// make dark pixels black to avoid problems when making them too bright
if(texel.z < 0.1) texel.y = 0;

// reduce intensity
// texel.z -= 0.1;

// typical lcd effect (overflow)
if(texel.z < 0) texel.z += 1.0;

// back to rgb
texel = hsv2rgb(texel);
}

vec3 dirt = 0.5*texture2D(DirtTex, gl_TexCoord[0].xy).rgb;
texel += dirt;
texel = clamp(texel, 0.0, 1.0);

// store result
gl_FragColor = vec4(texel, 1.0);
}
Loading