![]() This number will be used to turn different code blocks on/off. WS30.eff:0, agriculture:1, some future terrain effect: 3. There needs to be a xml file to assign different effects a number. 2 always needs a simple function or two to look it up.Ġ: the number identifying the effect. Ģ) has the advantage that accesses are in interleaved format, which is easier on caches and reduces register pressure by being vec4s. The other alternative is to have more occupancy and use an array with the relevant data type - e.g. four materials parameters base_magnification_factor, use_overlay, overlay_magnification_factor, overlay_bias are packed into a suitably named combined array. There needs to be a way to define, in an xml mapping file, which parameters are packed where in a combined vec4 array.Į.g. 2) all material parameters per landclass in one block.ġ) needs a function to look up non-vec4 parameters - it's possible to keep vec4 parameters as an array of vec4s, and pack single parameters in groups of 4 as a combined array. Two ways of doing it: 1) each parameter as a separate array with a landclass index. Sending materials parameters to shaders as arrays of vec4s To see it clearly remove haze and lighting via the control in the fragment shader. It's mostly hidden by the haze, which is thicker than normal right now due to issues with tile model position. There's some sort of landclass border artifact visible at long range visible on a 10 series GPU.The question is if some exotic compiler/GPU has issues with this - maybe unlikely given FG will eventually need OpenGL 4.x+ support? Querying textureSize() is likely fast since the GPU must know this to handle the texture, so the value should be readily available. Likely no longer needed: Landclass texture dimensions in texels is useful - however textureSize() provides that.xsize is sent used as a uniform (I can get roads to render by setting xsize to ysize, but there is an error in the console log about scaling the texture). The terrain fragment shaders have changed in recent eras so at ultra setting it is probably missing some uniform - e.g. It is not designed, or the most efficient, for roads. The terrain-default effect has the wrong texture and goes black in the distance. (lfeat.eff is derived from Runway.eff which inherits from terrain and uses a runway shader at high settings). Switching to lfeat.eff causes roads to render, even at ultra, but there are no moving cars etc. Roads: switching materials ws30Freeway and ws30Road to road-*.eff causes roads not to render.There's no way to tell FG to use the WS30 version - ws30-overlay.eff. terrain-overlay.eff is used in newer regional definitions instead of terrain-default.They are currently put into the global variable tile_size in ag, and flipped manually. These could be packed in a vec2 called tile_size.xy. Uniforms tile_width and tile_height sent from the CPU are the wrong way around.Notes - short term features Misc issues (near term): ![]() 8.1.1 Possible things old/exotic compilers/GPUs may throw errors or have rendering issues with.3.2 2) Searching the landclass texture every pixel (fragment).3.1 1) Special pass to search the landclass texture.1.2.1 Sending of texture set data to shaders.1.2 Sending materials parameters to shaders as arrays of vec4s.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |