1
0
Fork 0
No description
Find a file
Stuart Buchanan 3261f4a97c WS30: MR #267: Improved texture lookups from VS
Squashed commit of the following:

commit 115511888c20c53670eba17a82c81c9af99d7302
Author: vs <vs2009@mail.com>
Date:   Mon Dec 6 18:52:06 2021 +1000

    WS30 effects and shaders:

    Changelog:

    ws30-ALS-ultra.frag:

    - Ground textures lookups use their own coordinates separate from the landclass  texture lookup.

    - Partial derivatives dFdx and Dfdy are packed together in a vec4, so simple   multiplication to scale can be done in 1 instruction. dFdx = s and t components. dFdy  = p and q components. These must be scaled properly for ground texture access as ground  texture stretching and detiling of tex coords mean textures are scaled differently.

    - Added calculation of partial derivatives for texture coordinates used by the 5 non- base textures. dFdx() and dFdy() were called for nontrivial texture coordinate manipulation.

    - New control randomise_texture_lookups added at top of ws30-ALS-ultra.frag, in the  development tools section. Setting this to 1 will do a stress test of ground texture  array lookups. A fast random number generation function is used to assign each  landclass 4 random textures from the ground texture array - this is done by .  Performance will not be as bad in the full ALS port as some texture slots will better caching in memory - e.g. have 1 or a few variants.

    - Possible optimisation: use a 2nd or 3rd texture array for some of the non-base  texture slots that typically have 256, 512, or 1024 textures. The resolutions of these  arrays should change based on the largest loaded texture size in the active regional  definitions - this will allow taking full advantage of smaller texture sizes in some  areas. The disadvantage is some texture duplication with more slots.

    - Possible optimisation: offer the option to shrink textures by 50% or 25% - for  texture slots that use large textures like base or mix slots.

    - Very temporary - reduce procedural normal map features with photoscenery active  without breaking profiling, as the inputs to shaders are effect defaults or  placeholder (by request on ML).

    ----

    ws30-ALS-ultra.vert:
    - Start of conversion of geocentic world space xyz into lat/lon coords used for ground  texture lookups. Currently commented out as it's unknown what model space coords are  in (not geocentric it seems).

    ws20-ALS-landclass-search-functions.frag:

    - Add control for changing the ground texture array lookup function for debugging in  case old compilers/GPUs have issues. tex_lookup_type: 0: normal( textureGrad(), 1:  textureLod (manual Lod calculation), 2: texture() with no partial derivative  adjustment.

    - New get6_random_integers() will extract 6 limited random values from the full  precision of a 32 bit random value.

    - Old landclass_texel_size_m references are removed since textureSize() is used. There  are no 'const in float' arguments that may cause issues on AMD compilers.

    ----

    WS30-overlay effect (Inactive):

    - ws30-overlay.eff (derived from terrain-overlay.eff). Technique no "4" is used for two passes. The 1st pass is a copy of the ALS ultra pass (technique no "5") from ws30.eff.  The 2nd pass is the same as terrain-overlay.eff. The 2nd pass uses terrain- overlay.frag from WS2.

    - grass-ALS.vert copied to ws30-ovelay-ALS.vert. To do: needs texture coords that  don't change with tiles.

    - terrain-overlay-ALS.geom copied to ws30-overlay-ALS.geom. To do: uses gl_PositionIn [i].xy for position in the horizontal plane - assumes z is vertical. Tile model space  doesn't seem to match this.

    - WS3 doesn't seem to have a way of switching references to terrain-overlay.eff (which  inherits from terrain-default.eff) to the new ws3-overlay.eff (which needs to inherit  from ws30.eff). The ws3-overlay.eff included /might/ just work without any other changes: the first pass is the WS3 als ultra settings pass, and the second overlay pass is unchanged from WS2 (the same terrain overlay shaders should probably work apart from texcoords and rawpos not being correct).

    - Materials/base/materials-base.xml: ws30Road material: uncomment line declaring terrain-default as the effect. The target effect for ws30 roads is road-*.eff and it's added to ws30Road and ws30Freeway but commented out as it's not working currently.

    - Misc: large scale transitions are turned on in ws30-ALS-landclass-search-functions.frag by default. Grow landclass borders with large scale transitions is now on by default.

    ----

    Changes after the multi-texture support commit:

    ws30-ALS-ultra.vert

    - Added documentation: WS30 model space and z up space - for future people working on WS30, and people looking through shaders to rule out possibilities e.g. when fixing bugs, or interpreting visual bug reports.

    ws30-ALS-landclass-search-functions.frag:

    - For now, lookup_ground_texture_array() also looks up the relevant texture's index  based on an integer.

    - Add get_mixed_texel() - looks up texel for this fragment and any neighbors before mixing. Moves currently shared mixing code out of 3 fragment shaders.

    Misc: changed indentation from mixed tabs/spaces to spaces in ws30-ALS-ultra frag and vert. The indentation can be changed again when the porting is complete.

    ws30-ALS vert/frag and ws30-ALS-detailed vert/frag:

    - Add varying for ground texture coordiante, currently set to gl_TexCoord[0]. Apply texture stretching dimensions in fragment shaders.

    - Misc: varying rawPos is set to vec2 for now, as relPos.z+eye_alt might be faster. Misc: keep WS2 mixing logic for now , including turning off mixing via the alpha channel of the textures

    ----

    Changes after sending material parameters in uniform arrays commit:

    - Materials parameter for rock_strata is cast into an int so rock_strata==1 should work. Misc: Left over uniform for rock strata cleaned up.

    - ws30-ALS-ultra.frag and ws30-ALS-detailed.frag: Add missing mat_shininess for photoscenery case .
2022-01-03 15:43:29 +00:00
AI Corendon Traffic update 2021-12-16 15:08:42 +00:00
Aircraft Replace ATC-freq-search 2021-12-28 20:48:13 +01:00
Aircraft-aisim Add some documentation. Updates from validates data for aircraft. 2020-10-01 08:04:46 +02:00
Aircraft-uiuc fix path for beech99 doco 2002-05-01 01:27:18 +00:00
Airports WS3: Renew apt.dat file 2021-02-27 00:29:01 -06:00
Astro Expanded stars catalog from Chris 2019-03-03 11:46:47 +00:00
ATC Improvements to spoken ATIS 2016-04-24 10:45:57 +02:00
Compositor HDR: Implement GTAO (Ground Truth Ambient Occlusion) 2021-09-01 04:26:03 +02:00
Docs docs: XML sound changes 2021-10-18 15:31:20 +02:00
Effects WS30: MR #267: Improved texture lookups from VS 2022-01-03 15:43:29 +00:00
Environment Set inland water bodies icing when the icing slider >= 0.05 2021-12-20 10:00:57 +01:00
Fonts add fonts: B612 2019-02-19 17:13:33 +00:00
Geodata Add annual precipitation to the blue channel 2021-12-20 11:44:17 +01:00
gui Replace ATC-freq-search 2021-12-28 20:48:13 +01:00
HLA hla: Bring the object model in line with fgviewer. 2012-12-16 17:46:34 +01:00
Huds Huds/Instruments/ladder.xml: fix position of pitch=0 to match horizon. 2020-11-01 09:32:39 +00:00
Input Fix not working multi-key commands. 2021-12-05 14:35:41 +00:00
Lighting Cancel specular highlights due to sun at night 2012-07-12 09:27:35 +02:00
Materials WS30: MR #267: Improved texture lookups from VS 2022-01-03 15:43:29 +00:00
Models Remove wildfire code from fgdata and move to fgaddons 2021-08-31 20:06:14 +01:00
MP Sync with VirtualAir (http://virtualair.sourceforge.net/). 2010-02-10 10:41:25 +00:00
Nasal Add argument validation in canvas_efis/eicas-message-sys.nas 2021-12-04 14:50:01 +01:00
Navaids Add Truman TACAN to carrier navaids 2017-09-01 12:35:05 +03:00
Phi Fix attributes for multiplayer and AI airplanes in Phi (fix #2274) 2020-06-25 11:11:39 +01:00
Protocol David Megginson: here are the generic protocols I implemented for ForeFlight's sim integration (also supported by Garmin Pilot). The XATT one isn't fully working in Garmin Pilot (I've checked that the output is correct by sending it to a file), so I'd be grateful if anyone with an iOS device could try it in ForeFlight. The XGPS one is working flawlessly in Garmin Pilot on Android. 2017-07-05 09:03:45 +02:00
Shaders WS30: MR #267: Improved texture lookups from VS 2022-01-03 15:43:29 +00:00
Sounds Add turbojet fan sound by Bjoern K; edited to remove pops/cracks 2021-06-18 12:58:09 +01:00
Textures Improved frozen-lake texture without snow 2021-12-25 10:55:09 +01:00
Timezone Add missing timezone definitions: When not within country boudnaries ZoneDetect switches to ETC/GMT. This fixes the crash James was seeing. 2021-03-13 11:22:02 +01:00
Translations Remove unused Qt translations 2021-12-20 14:31:53 +00:00
Video gui/dialogs/vr-options: Add mirror options 2021-09-11 23:43:55 +01:00
.gitignore Add gitignore file. 2012-02-18 14:26:17 +01:00
AtlasPalette Fix type 2005-01-31 14:20:38 +00:00
AUTHORS Updates in preparation for the 0.9.8 release. 2004-12-21 00:21:11 +00:00
ChangeLog text file updates. 2002-02-18 15:37:50 +00:00
COPYING Updates in preparation for the 0.9.8 release. 2004-12-21 00:21:11 +00:00
defaults.xml defaults.xml: added sim/replay/record-continuous-compression 2021-12-09 23:19:53 +00:00
httpd-settings.xml Phi: move URL to the browsers root directory 2015-04-18 13:03:46 +02:00
joysticks.xml joysticks.xml: Manual revert of unintended changes from Alexis merge. 2010-10-29 20:43:09 +02:00
keyboard.xml keyboard.xml: remove duplicate commands (fix by Benedikt Hallinger) 2021-11-05 13:14:43 +01:00
location-presets.xml Updated default location to BIKF 2019-05-24 11:43:13 +01:00
mice.xml mice.xml: don't let mouse move control surfaces while paused or replaying. 2021-01-01 17:19:08 +00:00
NEWS Preparation for 0.9.11-pre1 release. 2007-05-15 16:09:55 +00:00
options.xml Add missing --igc protocol option displayed in help 2021-11-14 22:17:33 +01:00
README spelling fixes 2007-11-20 18:09:20 +00:00
README-textures-ng Stat adding Direct Draw Surface terrain textures 2011-09-05 12:01:45 +01:00
runfgfs.bat Initial revision. 2001-06-11 22:11:49 +00:00
Thanks Credit Martin's work for the world scenery 2016-01-31 20:49:21 +01:00
version Set version information 2020-10-13 22:31:39 +01:00

Welcome to the FlightGear Flight Simulator project.
===================================================

The primary web page for this project is: http://www.flightgear.org

For basic installation instructions see the "INSTALL" file.

Before you can run FlightGear you will also need to download and
install the "base" package which is a collection of textures, sounds,
sample scenery, and other data files needed by the sim.

For additional install help for specific platforms please browse the
"docs-mini/" subdirectory.

More complete documentation is available from our web page as a
separate distribution.

Please take a look at the "Thanks" file for a list of people who have
contributed to this project.  If you have contributed something but
don't find your name in this file.  Please send a polite reminder to
http://www.flightgear.org/~curt

For a summary of changes/additions by version see the "NEWS" file.

This project is GPL'd.  For complete details on our licensing please
see the "COPYING" file.

For information on available mailing lists, mailing list archives, and
other available source code and documentation, please visit our web
site.

FlightGear is a product of the collaboration of large international
group of volunteers.  FlightGear is a work in progress.  FlightGear
comes with no warranty.  We hope you enjoy FlightGear and/or find it
of some value!