summaryrefslogtreecommitdiff
path: root/indra/llprimitive/llgltfmaterial.cpp
AgeCommit message (Collapse)Author
2024-06-10Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into ↵Brad Linden
project/gltf_development
2024-06-10Post-merge - trim trailing whitespaceAndrey Lihatskiy
2024-06-07secondlife/viewer#1475: Add PBR terrain repeats editingCosmic Linden
2024-06-01Re-enable a lot of compiler warnings for MSVC and address the C4267 ↵Ansariel
"possible loss of precision" warnings
2024-05-10secondlife/viewer#907: Local PBR terrain texture transformsCosmic Linden
2024-01-08Merge branch 'main' into DRTVWR-600-maint-AAndrey Lihatskiy
# Conflicts: # indra/newview/llmaterialeditor.cpp
2023-12-06Fix LLGLTFMaterial hashingHenri Beauchamp
This PR fixes the non-working material hashing for LLGLTFMaterial instances. There are several issues in the current code, stemming to the fact that the hashing is performed on the block of the member variables: 1.- There are padding bytes between member variables, even after rearranging them to avoid most of the padding; in particular, the std::array's size is not a multiple of 4 bytes (64 bits), and most compilers will pad them to the next 4-byte aligment as a result. Note that C++ standards do not impose the zeroing of padding bytes on construction of a class instance, with only a couple exceptions (such as explicit zero-initialization). Those bytes MUST therefore be zeroed by us on construction. 2.- The TextureTransform strutcure getPacked() method did not touch some of the packed bytes, and as a result could *potentially* cause an issue for hashing when applied to a transform of another material instance. 3.- With the recent addition of the local textures tracking map, the said map cannot be hashed as a block of memory (map pairs will typically be allocated on the heap or on the stack, not in the memory block used by member variables). This PR solves all these issues and offers proper hashing of LLGLTFMaterial instances.
2023-11-15Merge remote-tracking branch 'remotes/origin/DRTVWR-559' into DRTVWR-596RunitaiLinden
2023-11-14SL-20340 Fix for off-by-epsilon hack falling off when serializing overrides ↵RunitaiLinden
as LLSD. (#513)
2023-11-13Drtvwr 596 11/8/2023 (#501)RunitaiLinden
* SL-20570 Fix for lossy (and square) normal maps when importing GLTF materials. * SL-20582 Fix for overriding to alpha mode blend not working. Incidental decruft of dead code (thanks, Rye!)
2023-11-08SL-20582 Fix for overriding to alpha mode blend not working. Incidental ↵RunitaiLinden
decruft of dead code (thanks, Rye!)
2023-11-06SL-20523 Ensure override gets updated before render materialAndrey Kleshchev
2023-11-06SL-20523 Local textures not updating on PBR Materials #5Andrey Kleshchev
2023-11-06SL-20523 Local textures not updating on PBR Materials #4Andrey Kleshchev
2023-11-06SL-20523 Local textures not updating on PBR Materials #3Andrey Kleshchev
2023-11-06SL-20523 Local textures not updating on PBR Materials #2Andrey Kleshchev
2023-10-09SL-20225: LLGLTFMaterial code syncCosmic Linden
2023-09-22SL-20325 Fix for double sided not working.RunitaiLinden
2023-08-29SL-20229 Add GenericStreamingMessage and use it to receive GLTF material ↵RunitaiLinden
overrides
2023-04-21SL-19606: Fix missing GLTF texture transforms in PBR alpha mask/alpha blend ↵Cosmic Linden
shadows
2023-03-22DRTVWR-559 Fix for bad hashing of materials breaking render batches and who ↵Dave Parks
knows what else.
2023-02-27SL-19279: LLGLSLShader::bindXXX is not free. Pack the uniformsCosmic Linden
2023-02-23SL-19228: Fix GLTF texture transform rotation and add UV debug (PBR only). ↵Cosmic Linden
See textureUtilV.glsl for UV coordinate comments
2023-02-15SL-19121: Address review comments from SL-19080 phase 2Cosmic Linden
2023-02-09SL-19080: Address clang-provided errorsCosmic Linden
2023-02-09SL-19080: Update GLTF Material asset upload to v1.1, with stricter GLTF ↵Cosmic Linden
compliance and removal of unsupported features
2023-01-10SL-18820: Fix applying material clearing transform overrides. Loosen some ↵Cosmic Linden
asserts to allow non-default transform overrides.
2023-01-09SL-18820: Update LLGLTFMaterial: Add setBaseMaterial() and equality comparisonCosmic Linden
2023-01-06SL-18741 Add gltf to bulk uploads on macAndrey Kleshchev
And cleaned up dupplicate mScale code
2022-11-14SL-18634: Fix GLTF material texture transform not serializing when texture ↵Cosmic Linden
ID is null
2022-11-11SL-18616 Fix for dropping mOverrideAlphaMode on copyDave Parks
2022-11-09Revert "SL-18523: When editing an object's material override, use the ↵Sabrina Shanman
object's material override as a base, rather than its render material (pull request #1190)"
2022-11-08SL-18523: When editing an object's material override, use the object's ↵Cosmic Linden
material override as a base, rather than its render material
2022-11-02Merged in SL-18485 (pull request #1183)Sabrina Shanman
SL-18485: Render GLTF materials with extension KHR_texture_transform with approprate texture transforms
2022-11-02SL-18520 Fix for mac build.Dave Parks
2022-11-02SL-18485: Render GLTF materials with extension KHR_texture_transform with ↵Cosmic Linden
approprate texture transforms
2022-11-02SL-18520 Use GLTF material.extras to pass flags for enabling overriding ↵Dave Parks
alpha mode and double sided to default
2022-11-01SL-18520 WIP - Use off-by-epsilon and special UUID identifier hacks to allow ↵Dave Parks
overriding to default values.
2022-11-01SL-18513 Put profile markers around GLTF code.Dave Parks
2022-10-31SL-18442 Port of Caladbolg's fix for emissive overrides not taking. Remove ↵Dave Parks
unused function.
2022-10-31SL-18446 Fix emissive tintAndrey Kleshchev
2022-10-27SL-18411: GLTF material transform serialization, plus fix improper indexing ↵Cosmic Linden
not matching GLTF spec
2022-10-20SL-18105 Add remaining parameters to applyOverrideDave Parks
2022-10-20SL-18411: Copy over LLGLTFMaterial changes (most notably various ↵Cosmic Linden
getters/setters and texture transform stub)
2022-10-19SL-18105 Hook up TE override material to render pipe by way of render material.Dave Parks
2022-10-19SL-18105 Hook up render pipe directly to LLTextureEntry::mGLTFMaterial and ↵Dave Parks
add LLViewerFetchedTextures to LLFetchedGLTFMaterial. Lower reflection probe resolution to 128x128 per side.
2022-10-17WIP for SL-17697 live editing now computes diffs of changed material ↵Brad Kittenbrink
properties in tinygltf schema json
2022-10-14SL-18105 Add to/from json capability to LLGLTFMaterialDave Parks