No description
0bce3c966f
commit e131ffaca7b2c934474f0e447b5852cb4c7c8d4a Author: vs <vs2009@mail.com> Date: Fri Oct 15 22:19:42 2021 +1000 WS30: landclass and texture lookups in fragment shader: Changelog: - Testing: Procedural random landclass function, get_random_landclass(). 1). Avoids a texture lookup for profiling. 2). Creates squares of configurable size with controllable random landclass ranges - to test landclass transition algorithms and quickly profile lots of landclasses in view. It's also possible to put pressure on GPU memory even with 1 lookup of ground textures per fragment, by reducing size to <20m and viewing from altitude. - Add ALS ultra technique as no 5, move existing ALS technique to no. 6. Add WS30-ALS-ultra frag & vert in preparation for eventual ALS ultra port. Change comments/variables to match using a texture array instead of atlas. Sampler name: atlas -> textureArray. - Testing/optimisation of de-tiling: WS30-ALS.frag: reorder perlin detiling to make noise source easier to switch. WS30-ALS-ultra.frag: Create alternative to perlin noise used for reducing tiling that avoids a texture lookup - to profile and optimise. This is commented out. The performance difference in the final version depends on memory pressure versus arithmetic load of the full shader. It varies by GPU and what's in view. In future, once a full ALS port is done, maybe it'll be more efficient to run a higher quality de-tiling algorithm all the time to avoid branching overhead due to effects like agriculture which need more de-tiling. De-tiling code in shaders should /eventually/ match CPU-side de-tiling of texture masks used for object and vegetation placement. De-tiling code in GPUs might be subject to precision and numerical artifacts, and if so maybe the texture lookup version would work better. The same applies to noise used for rendering WS3 water waves and collision queries. One option is to use exactly the same glsl code, with a C++ header to convert glsl syntax e.g. https://github.com/g-truc/glm . |
||
---|---|---|
AI | ||
Aircraft | ||
Aircraft-aisim | ||
Aircraft-uiuc | ||
Airports | ||
Astro | ||
ATC | ||
Compositor | ||
Docs | ||
Effects | ||
Environment | ||
Fonts | ||
Geodata | ||
gui | ||
HLA | ||
Huds | ||
Input | ||
Lighting | ||
Materials | ||
Models | ||
MP | ||
Nasal | ||
Navaids | ||
Phi | ||
Protocol | ||
Shaders | ||
Sounds | ||
Textures | ||
Timezone | ||
Translations | ||
Video | ||
.gitignore | ||
AtlasPalette | ||
AUTHORS | ||
ChangeLog | ||
COPYING | ||
defaults.xml | ||
httpd-settings.xml | ||
joysticks.xml | ||
keyboard.xml | ||
location-presets.xml | ||
mice.xml | ||
NEWS | ||
options.xml | ||
README | ||
README-textures-ng | ||
runfgfs.bat | ||
Thanks | ||
version |
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!