Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge fix-7.2.5 to master #1858

Merged
merged 23 commits into from
Feb 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
061bf18
Update tests after arnold changes on curves (#1766)
sebastienblor Nov 24, 2023
4e79046
Fix the incorrect orientation of the PointInstancer instances in the …
cpichard Dec 8, 2023
0608921
Fix changelog for 7.2.5 release (#1788)
sebastienblor Jan 3, 2024
453ade2
More changelog fixes
sebastienblor Jan 3, 2024
a685d60
handle vertex interpolated uvs on bspline curves (#1792)
cpichard Jan 5, 2024
b2820dd
FIx the error "Cannot load _htoa_pygeo library required for volume re…
cpichard Jan 16, 2024
61b55a8
Improve material network creation times by caching the nodes returned…
cpichard Jan 18, 2024
9f52659
Fix build with older versions of arnold (#1820)
cpichard Jan 19, 2024
592b42b
update changelog for fix-7.2.5.0 (#1827)
cpichard Jan 25, 2024
e8b7489
Fix crash happening in maya aiStandin when scrolling the timeline (#1…
cpichard Jan 25, 2024
d4aca46
Convert the ArnoldProceduralCustom transform matrix to Arnold in the …
cpichard Jan 26, 2024
129e955
rename unrelease to fix-7.2.5 to follow master convention (#1843)
cpichard Feb 5, 2024
df45feb
Update tests after core changes in fix-7.2.5 (#1849)
sebastienblor Feb 9, 2024
14659e7
Changed HtoAConvertPrimVdbToArnold symbol lookup from pythonX.Xlibs/_…
TomMinor Feb 9, 2024
ed8bff1
update fix-7.2.5 changelog for 7.2.5.2 (#1856)
cpichard Feb 14, 2024
bb629da
Merge remote-tracking branch 'upstream/fix-7.2.5' into merge_fix_150224
sebastienblor Feb 15, 2024
7024341
Fix merge conflict
sebastienblor Feb 15, 2024
b6e7275
Temporarily remove test_0202 from the hydra group
sebastienblor Feb 15, 2024
ad85d94
Fix slowness in the render delegate due to scene update when the came…
cpichard Feb 15, 2024
e79aeef
Merge remote-tracking branch 'upstream/fix-7.2.5' into merge_fix_150224
sebastienblor Feb 15, 2024
03c83ee
Remove legacy code
sebastienblor Feb 15, 2024
8ee0e43
Fixing changelog
sebastienblor Feb 15, 2024
8135ae1
Fix indentation
sebastienblor Feb 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,15 @@
## [fix-7.2.5]

### Bug fixes
- [usd#1854](https://github.com/Autodesk/arnold-usd/issues/1854) - Fix unnecessary updating of the scene in the render delegate when the camera is moving. This improves the interactivity in Solaris.
cpichard marked this conversation as resolved.
Show resolved Hide resolved

## [7.2.5.2]

### Bug fixes
- [usd#1808](https://github.com/Autodesk/arnold-usd/issues/1808) - Fix the error "Cannot load _htoa_pygeo library required for volume rendering in Solaris" in Houdini 19.5+.
- [usd#1812](https://github.com/Autodesk/arnold-usd/issues/1812) - Improve Material network creation by caching the node entries and the osl code.
- [usd#1781](https://github.com/Autodesk/arnold-usd/issues/1781) - Fix a crash happening in a aiStandin usd when scrolling the timeline in maya.
- [usd#1753](https://github.com/Autodesk/arnold-usd/issues/1753) - Fix a problem with yeti where the transforms of the ArnolProceduralCustom were not taken into account in kick (procedural).

## [7.2.5.1] - 2024-01-18

Expand Down
4 changes: 2 additions & 2 deletions libs/render_delegate/camera.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ void HdArnoldCamera::Sync(HdSceneDelegate* sceneDelegate, HdRenderParam* renderP

// Check if the user changed the projection type
if (isPersp) {
if (AtString(AiNodeEntryGetTypeName(AiNodeGetNodeEntry(_camera))) != str::persp_camera) {
if (!AiNodeIs(_camera, str::persp_camera)) {
// the name might be the same ??
AtNode *newCamera = _delegate->CreateArnoldNode(str::persp_camera, AtString(GetId().GetText()));
SetCamera(newCamera);
Expand All @@ -281,7 +281,7 @@ void HdArnoldCamera::Sync(HdSceneDelegate* sceneDelegate, HdRenderParam* renderP
const auto fov = static_cast<float>(GfRadiansToDegrees(atan(1.0 / projMatrix[0][0]) * 2.0));
AiNodeSetFlt(_camera, str::fov, fov);
} else if (isOrtho) {
if (AtString(AiNodeEntryGetTypeName(AiNodeGetNodeEntry(_camera))) != str::ortho_camera) {
if (!AiNodeIs(_camera, str::ortho_camera)) {
AtNode *newCamera = _delegate->CreateArnoldNode(str::ortho_camera, AtString(GetId().GetText()));
SetCamera(newCamera);
AiNodeSetStr(newCamera, str::name, AtString(GetId().GetText()));
Expand Down
8 changes: 7 additions & 1 deletion libs/render_delegate/render_delegate.h
Original file line number Diff line number Diff line change
Expand Up @@ -626,6 +626,13 @@ class HdArnoldRenderDelegate final : public HdRenderDelegate {

void ProcessConnections();

#if ARNOLD_VERSION_NUM > 70203
const AtNodeEntry * GetMtlxCachedNodeEntry (const std::string &nodeEntryKey, const AtString &nodeType, AtParamValueMap *params);
#endif
#if ARNOLD_VERSION_NUM >= 70104
AtString GetCachedOslCode (const std::string &oslCacheKey, const AtString &nodeType, AtParamValueMap *params);
#endif

std::vector<AtNode*> _nodes;

void RegisterMeshLight(AtNode *meshLight) {
Expand Down Expand Up @@ -766,7 +773,6 @@ class HdArnoldRenderDelegate final : public HdRenderDelegate {
bool _renderDelegateOwnsUniverse;

std::unordered_map<std::string, AtNode *> _nodeNames;

};

PXR_NAMESPACE_CLOSE_SCOPE
33 changes: 16 additions & 17 deletions libs/render_delegate/volume.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -119,43 +119,42 @@ struct HtoAFnSet {
/// installed in a path containing `;` or `&`.
constexpr auto convertVdbName = "HtoAConvertPrimVdbToArnold";
const auto HOUDINI_PATH = ArchGetEnv("HOUDINI_PATH");
auto searchForPygeo = [&](const std::string& path) -> bool {
auto searchForLibHtoaGeo = [&](const std::string& path) -> bool {
if (path == "&") {
return false;
}
std::string dsoPath;
void* htoaPygeo = nullptr;
#ifdef ARCH_OS_WINDOWS
std::string ext = ".dll";
#if defined(ARCH_OS_WINDOWS)
constexpr const char* htoaGeoDso = "htoa_geo.dll";
#elif defined(ARCH_OS_LINUX)
constexpr const char* htoaGeoDso = "libhtoa_geo.so";
#elif defined(ARCH_OS_OSX)
constexpr const char* htoaGeoDso = "libhtoa_geo.dylib";
#else
std::string ext = ".so";
TF_WARN("Error loading %s - unsupported architecture", convertVdbName);
return false;
#endif
// TODO: we need to find a solution that doesn't require to add the future python version of houdini
std::array<std::string, 4> pythonVersions = {"2.7", "3.7", "3.9", "3.10"};
for (const auto &pyVer : pythonVersions) {
dsoPath = path + ARCH_PATH_SEP + "python" + pyVer + "libs" + ARCH_PATH_SEP + "_htoa_pygeo" + ext;
htoaPygeo = ArchLibraryOpen(dsoPath, ARCH_LIBRARY_NOW);
if (htoaPygeo) break;
}
if (!htoaPygeo) {

const std::string dsoPath = path + ARCH_PATH_SEP + "scripts" ARCH_PATH_SEP + "bin" + ARCH_PATH_SEP + htoaGeoDso;
void* htoaGeo = ArchLibraryOpen(dsoPath, ARCH_LIBRARY_NOW);
if (!htoaGeo) {
return false;
}
convertPrimVdbToArnold = reinterpret_cast<HtoAConvertPrimVdbToArnold>(GETSYM(htoaPygeo, convertVdbName));
convertPrimVdbToArnold = reinterpret_cast<HtoAConvertPrimVdbToArnold>(GETSYM(htoaGeo, convertVdbName));
if (convertPrimVdbToArnold == nullptr) {
TF_WARN("Error loading %s from %s", convertVdbName, dsoPath.c_str());
}
return true;
};
const auto houdiniPaths = TfStringSplit(HOUDINI_PATH, ARCH_PATH_LIST_SEP);
for (const auto& houdiniPath : houdiniPaths) {
if (searchForPygeo(houdiniPath)) {
if (searchForLibHtoaGeo(houdiniPath)) {
return;
}
#ifndef ARCH_OS_WINDOWS
if (TfStringContains(houdiniPath, ";")) {
const auto subPaths = TfStringSplit(houdiniPath, ";");
for (const auto& subPath : subPaths) {
if (searchForPygeo(subPath)) {
if (searchForLibHtoaGeo(subPath)) {
return;
}
}
Expand Down
1 change: 1 addition & 0 deletions libs/translator/reader/read_geometry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1662,6 +1662,7 @@ AtNode* UsdArnoldReadProceduralCustom::Read(const UsdPrim &prim, UsdArnoldReader
std::string nodeType = VtValueGetString(value);
AtNode *node = context.CreateArnoldNode(nodeType.c_str(), prim.GetPath().GetText());

ReadMatrix(prim, node, time, context);
ReadPrimvars(prim, node, time, context);
ReadMaterialBinding(prim, node, context, false); // don't assign the default shader
ReadArnoldParameters(prim, context, node, time, "arnold");
Expand Down
4 changes: 3 additions & 1 deletion testsuite/groups
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,9 @@ darwin:
# SPECIAL TEST GROUPS #
#######################
# Tests that can be run in hydra mode
hydra: test_0000 test_0001 test_0002 test_0003 test_0004 test_0005 test_0006 test_0007 test_0008 test_0009 test_0010 test_0011 test_0012 test_0014 test_0016 test_0017 test_0018 test_0019 test_0020 test_0021 test_0022 test_0023 test_0024 test_0025 test_0026 test_0027 test_0028 test_0029 test_0030 test_0031 test_0032 test_0033 test_0034 test_0038 test_0041 test_0046 test_0048 test_0049 test_0055 test_0057 test_0112 test_0130 test_0132 test_0133 test_0135 test_0139 test_0140 test_0141 test_0142 test_0143 test_0144 test_0145 test_0148 test_0149 test_0150 test_0151 test_0158 test_0159 test_0161 test_0162 test_0163 test_0164 test_0165 test_0166 test_0168 test_0169 test_0170 test_0171 test_0172 test_0173 test_0174 test_0175 test_0177 test_0178 test_0180 test_0183 test_0184 test_0186 test_0187 test_0188 test_0189 test_0191 test_0194 test_0195 test_0196 test_0197 test_0198 test_0200 test_0201 test_0204 test_0205 test_0206 test_0207 test_0215 test_0216 test_0217 test_0219 test_0220 test_0221 test_0222 test_0223 test_0225 test_0227 test_0228 test_0229 test_0230 test_0299 test_0232 test_0233 test_0234 test_0238 test_0239 test_0240 test_0242 test_0243 test_0244 test_0245 test_0316 test_0739 test_1181 test_1204 test_1209 test_1225 test_1245 test_1262 test_1294 test_1309 test_1311 test_1313 test_1333 test_1334 test_1346 test_1416 test_1420 test_1426 test_1427.3 test_1430 test_1433 test_1435 test_1438 test_1457 test_1486 test_1499 test_1524 test_1525 test_1530 test_1535 test_1538 test_1546 test_1550 test_1567 test_1588 test_1590 test_1593 test_1607 test_1613 test_1625 test_1632 test_1635 test_1654 test_1657 test_1678 test_1705 test_1718 test_1726 test_1730 test_1735 test_1769 test_1772 test_14028

hydra: test_0000 test_0001 test_0002 test_0003 test_0004 test_0005 test_0006 test_0007 test_0008 test_0009 test_0010 test_0011 test_0012 test_0014 test_0016 test_0017 test_0018 test_0019 test_0020 test_0021 test_0022 test_0023 test_0024 test_0025 test_0026 test_0027 test_0028 test_0029 test_0030 test_0031 test_0032 test_0033 test_0034 test_0038 test_0041 test_0046 test_0048 test_0049 test_0055 test_0057 test_0112 test_0130 test_0132 test_0133 test_0135 test_0139 test_0140 test_0141 test_0142 test_0143 test_0144 test_0145 test_0148 test_0149 test_0150 test_0151 test_0158 test_0159 test_0161 test_0162 test_0163 test_0164 test_0165 test_0166 test_0168 test_0169 test_0170 test_0171 test_0172 test_0173 test_0174 test_0175 test_0177 test_0178 test_0180 test_0183 test_0184 test_0186 test_0187 test_0188 test_0189 test_0191 test_0194 test_0195 test_0196 test_0197 test_0198 test_0200 test_0201 test_0204 test_0205 test_0206 test_0207 test_0215 test_0216 test_0217 test_0219 test_0220 test_0221 test_0222 test_0223 test_0225 test_0227 test_0228 test_0229 test_0230 test_0232 test_0233 test_0234 test_0238 test_0239 test_0240 test_0242 test_0243 test_0244 test_0245 test_0299 test_0316 test_0739 test_1181 test_1204 test_1209 test_1225 test_1245 test_1262 test_1294 test_1309 test_1311 test_1313 test_1333 test_1334 test_1346 test_1416 test_1420 test_1426 test_1427.3 test_1430 test_1433 test_1435 test_1438 test_1457 test_1486 test_1499 test_1524 test_1525 test_1530 test_1535 test_1538 test_1546 test_1550 test_1567 test_1588 test_1590 test_1593 test_1607 test_1613 test_1625 test_1632 test_1635 test_1654 test_1657 test_1678 test_1705 test_1718 test_1726 test_1730 test_1735 test_1769 test_1772 test_14028


# Tests in this group will never be executed (you can use it to temporarily disable some tests and/or groups)
ignore:
Expand Down
2 changes: 2 additions & 0 deletions testsuite/test_0739/data/scene.usda
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ def ArnoldProceduralCustom "myinstancer"
string arnold:node_entry = "instancer"
uint[] arnold:node_idxs = [0, 0, 1, 1, 2,2]
string[] arnold:nodes = ["/cube", "/sphere", "/cone"]
matrix4d xformOp:transform:transform1 = ( (1.2, 0, 0, 0), (0, 1.2, 0, 0), (0, 0, 1.2, 0), (0, 0, 0, 1) )
uniform token[] xformOpOrder = ["xformOp:transform:transform1"]
}


Expand Down
Binary file modified testsuite/test_0739/ref/reference.tif
Binary file not shown.