summaryrefslogtreecommitdiff
path: root/indra/llprimitive/llgltfmaterial.h
AgeCommit message (Collapse)Author
2024-06-11Merge remote-tracking branch 'origin/release/maint-a' into ↵Brad Linden
project/gltf_development
2024-06-11Clean up line endings that got mangled up during last mergeAnsariel
2024-06-11Merge branch 'main' of https://github.com/secondlife/viewer into ↵Ansariel
DRTVWR-600-maint-A # Conflicts: # indra/llappearance/llavatarappearance.h # indra/llimage/llimage.cpp # indra/llmath/llvolume.cpp # indra/llmath/llvolume.h # indra/llprimitive/llgltfmaterial.h # indra/llrender/llrendertarget.cpp # indra/llrender/llshadermgr.cpp # indra/newview/lldynamictexture.cpp # indra/newview/llenvironment.cpp # indra/newview/llfetchedgltfmaterial.cpp # indra/newview/llfloaterimagepreview.cpp # indra/newview/llfloaterimagepreview.h # indra/newview/llfloaterregioninfo.cpp # indra/newview/llfloaterregioninfo.h # indra/newview/llmaniprotate.cpp # indra/newview/llmaniptranslate.cpp # indra/newview/llpanelvolume.cpp # indra/newview/llselectmgr.cpp # indra/newview/llselectmgr.h # indra/newview/llsurface.cpp # indra/newview/llsurface.h # indra/newview/llsurfacepatch.cpp # indra/newview/lltexturectrl.cpp # indra/newview/lltexturectrl.h # indra/newview/lltinygltfhelper.cpp # indra/newview/llviewertexture.cpp # indra/newview/llviewerwindow.cpp # indra/newview/llviewerwindow.h # indra/newview/llvlcomposition.cpp # indra/newview/llvlcomposition.h # indra/newview/llvocache.cpp # indra/newview/llvovolume.cpp # indra/newview/pipeline.cpp
2024-06-07secondlife/viewer#1475: Add PBR terrain repeats editingCosmic Linden
2024-05-22Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-AAnsariel
# Conflicts: # autobuild.xml # indra/cmake/CMakeLists.txt # indra/cmake/GoogleMock.cmake # indra/llaudio/llaudioengine_fmodstudio.cpp # indra/llaudio/llaudioengine_fmodstudio.h # indra/llaudio/lllistener_fmodstudio.cpp # indra/llaudio/lllistener_fmodstudio.h # indra/llaudio/llstreamingaudio_fmodstudio.cpp # indra/llaudio/llstreamingaudio_fmodstudio.h # indra/llcharacter/llmultigesture.cpp # indra/llcharacter/llmultigesture.h # indra/llimage/llimage.cpp # indra/llimage/llimagepng.cpp # indra/llimage/llimageworker.cpp # indra/llimage/tests/llimageworker_test.cpp # indra/llmessage/tests/llmockhttpclient.h # indra/llprimitive/llgltfmaterial.h # indra/llrender/llfontfreetype.cpp # indra/llui/llcombobox.cpp # indra/llui/llfolderview.cpp # indra/llui/llfolderviewmodel.h # indra/llui/lllineeditor.cpp # indra/llui/lllineeditor.h # indra/llui/lltextbase.cpp # indra/llui/lltextbase.h # indra/llui/lltexteditor.cpp # indra/llui/lltextvalidate.cpp # indra/llui/lltextvalidate.h # indra/llui/lluictrl.h # indra/llui/llview.cpp # indra/llwindow/llwindowmacosx.cpp # indra/newview/app_settings/settings.xml # indra/newview/llappearancemgr.cpp # indra/newview/llappearancemgr.h # indra/newview/llavatarpropertiesprocessor.cpp # indra/newview/llavatarpropertiesprocessor.h # indra/newview/llbreadcrumbview.cpp # indra/newview/llbreadcrumbview.h # indra/newview/llbreastmotion.cpp # indra/newview/llbreastmotion.h # indra/newview/llconversationmodel.h # indra/newview/lldensityctrl.cpp # indra/newview/lldensityctrl.h # indra/newview/llface.inl # indra/newview/llfloatereditsky.cpp # indra/newview/llfloatereditwater.cpp # indra/newview/llfloateremojipicker.h # indra/newview/llfloaterimsessiontab.cpp # indra/newview/llfloaterprofiletexture.cpp # indra/newview/llfloaterprofiletexture.h # indra/newview/llgesturemgr.cpp # indra/newview/llgesturemgr.h # indra/newview/llimpanel.cpp # indra/newview/llimpanel.h # indra/newview/llinventorybridge.cpp # indra/newview/llinventorybridge.h # indra/newview/llinventoryclipboard.cpp # indra/newview/llinventoryclipboard.h # indra/newview/llinventoryfunctions.cpp # indra/newview/llinventoryfunctions.h # indra/newview/llinventorygallery.cpp # indra/newview/lllistbrowser.cpp # indra/newview/lllistbrowser.h # indra/newview/llpanelobjectinventory.cpp # indra/newview/llpanelprofile.cpp # indra/newview/llpanelprofile.h # indra/newview/llpreviewgesture.cpp # indra/newview/llsavedsettingsglue.cpp # indra/newview/llsavedsettingsglue.h # indra/newview/lltooldraganddrop.cpp # indra/newview/llurllineeditorctrl.cpp # indra/newview/llvectorperfoptions.cpp # indra/newview/llvectorperfoptions.h # indra/newview/llviewerparceloverlay.cpp # indra/newview/llviewertexlayer.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/macmain.h # indra/test/test.cpp
2024-05-20#1392 GLTF Upload (#1394)Dave Parks
* #1392 WIP -- Functional texture upload, stubbed out .bin upload. * #1392 GLTF Upload WIP -- Emulates successful upload Successfully uploads texture Emulates successful .gltf and .bin upload by injecting into local asset cache. Emulates rez from inventory by setting sculpt ID of selected object Currently fails in tinygltf parsing due to missing .bin * Add missing notification * Build fix * #1392 Add boost::json .gltf reading support. * #1392 boost::json GLTF writing prototype * Create gltf/README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * #1392 Add ability to render directly from LL::GLTF::Material * Fix for mac build * Mac build fix * #1392 AssetType and Inventory Type plumbing * #1392 More sane error handling and scheduling of uploads. * #1392 Actually attempt to upload glbin * Mac build fix, upload nudge * Mac build fix * Fix glTF asset uploads to server * Mac build fix (inline not static) * More consistent inline * Add glm, mac nudge. * #1392 For consistency with spec, start using glm over glh:: and LLFoo * Another attempt at placating Mac builds * Another Mac nudge * Mac build take 23 * #1392 Prune LLMatrix4a from GLTF namespace. * #1392 Fix for orientation being off (glm::quat is wxyz, not xyzw) * #1392 WIP -- Actually send the sculpt type and id, nudge readme and alpha rendering * #1392 Working download! * #1394 Add support for GLTFEnabled SimulatorFeature * #1392 Review feedback --------- Co-authored-by: Pepper Linden <3782201+rohvani@users.noreply.github.com>
2024-05-14Merge DRTVWR-591-maint-X to main on promotion of secondlife/viewer #705: ↵Nat Goodspeed
Maintenance X
2024-05-14Merge remote-tracking branch 'origin/release/materials_featurette' into ↵Brad Linden
project/gltf_development
2024-05-13secondlife/viewer#907: Fix bad merge in LLGLTFMaterialCosmic Linden
Caused by a conflict between the LLGLTFMaterial::getHash fix, and an improvement in LLGLTFMaterial field ordering for platform-dependent memory reduction.
2024-05-10secondlife/viewer#907: Local PBR terrain texture transformsCosmic Linden
2024-05-08Fix for mirrors not functioning properly under water. (#1436)Jonathan "Geenz" Goodman
* #1165 Fix for clipping and culling for mirrors under water.
2024-05-06Merge remote-tracking branch 'origin/main' into project/gltf_developmentBrad Linden
2024-05-06Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into ↵RunitaiLinden
gltf-dev-maint-a-merge
2024-05-02Update LLGLTFMaterial tests for changes introduced in SL-20523Brad Linden
also correct member packing to match server side
2024-04-29#824 Process source files in bulk: replace tabs with spaces, convert CRLF to ↵Andrey Lihatskiy
LF, and trim trailing whitespaces as needed
2024-03-20secondlife/viewer-issues#83: Add TODO/assert for deciding when to allow ↵Cosmic Linden
candidate future extensions on PBR terrain
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-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-11-06SL-20523 Local textures not updating on PBR Materials #1Andrey Kleshchev
Update editor in which texture changed to local
2023-10-25Fix DRTVWR-559 std::array usage in llrender and llprimitive after mergeBrad Linden
2023-10-09SL-20225: LLGLTFMaterial code syncCosmic Linden
2023-08-29SL-20229 Add GenericStreamingMessage and use it to receive GLTF material ↵RunitaiLinden
overrides
2023-05-03Improved fix for SL-19675 crash. How about just don't refer to data when ↵Brad Linden
you don't need it
2023-04-21SL-19606: Fix missing GLTF texture transforms in PBR alpha mask/alpha blend ↵Cosmic Linden
shadows
2023-03-23SL-19169 Local material updates aren't applied with non-default transformsAndrey Kleshchev
2023-03-22DRTVWR-559 Fix for bad hashing of materials breaking render batches and who ↵Dave Parks
knows what else.
2023-03-02SL-19281 Unify handling of haze and gamma between fullbright and not and ↵Dave Parks
move haze back to sRGB color space to stay consistent with sky colors. Also fix broken "roughness" stuck at 0.2.
2023-02-27SL-19279: LLGLSLShader::bindXXX is not free. Pack the uniformsCosmic Linden
2023-02-15SL-19121: Address review comments from SL-19080 phase 2Cosmic Linden
2023-02-14Merge pull request #73 from secondlife/SL-19080cosmic-linden
SL-19080: GLTF Material asset consistency: Part 2: Update viewer GLTF Material asset upload to v1.1
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-02-02SL-18908 Make media texture override base color and emissive texture on PBR ↵Dave Parks
materials when present.
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
2022-11-14SL-18634: Fix GLTF material texture transform not serializing when texture ↵Cosmic Linden
ID is null
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-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-10-31SL-18442 Port of Caladbolg's fix for emissive overrides not taking. Remove ↵Dave Parks
unused function.
2022-10-27SL-18411: GLTF material transform serialization, plus fix improper indexing ↵Cosmic Linden
not matching GLTF spec
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