Comments (19)
Hi @Nek I am going to share more detailed explanation soon.
from hdblackbird.
Hi @Nek, currently I am assigned to other tasks that are on our priority list. I want to let you know that we had internal conversations to make hdCycles
much easier to build. At this point I can not give you any time frame when it's going to happen, but this task is quite high on our priority list. We want everyone to contribute. For now I would have to ask you to be patient.
from hdblackbird.
@bareya makes total sense. Thanks for the update and for being open.
from hdblackbird.
Hi all,
I have a small update that I would like to share. I know current building system has not been working for many of you. I put some effort at personal time to make it more approachable. I haven’t tested it for Windows yet. Unfortunately, I have only Linux at home. It is still far from being perfect, but here is so far what I have accomplished:
-
I made a request to SideFx for missing headers that are required to build Cycles. Since Houdini 18.5.519(daily build) we can build Cycles based on libraries and headers that are distributed with Houdini. That means the dependencies can be reduced to very minimum: gflags, glog, cycles and hdcycles.
-
I made a bunch of changes in Cycles cmakes. Now it exports a few targets. Linking with Cycles::Cycles cmake interface has simplified HdCycles’ cmake significantly. There is a lot to be done, so I treat it as a temporary fix. I hope in the future we can make Cycles cmake more modern.
-
I removed rez dependencies from HdCycles repo (they are optional and rez picks them up depending on presence of rez environment variables).
-
I made a cmake script to compile gflags, glog, Cycles and HdCycles against Houdini. For now, I am going to push it to separate repo. Once following PRs are merged, I will be able to share the building script:
#100
tangent-opensource/coreBlackbird#18
Cheers,
Piotr
from hdblackbird.
Hi, I am closing this one and all install instructions will be updated in the Wiki. https://github.com/tangent-opensource/hdcycles/wiki
from hdblackbird.
There are currently build instructions in this repo on how to build it yourself, but if you're looking on a pre-built binary, we are looking to release an up to date solution, with Houdini 18.5 for windows soon.
from hdblackbird.
I'd be glad to compile more detailed compilation instructions but I have problems following the current one.
How do I find DUSD_ROOT (for Houdini 18.5) and DCYCLES_ROOT?
from hdblackbird.
Hello @bareya. Any news?
from hdblackbird.
I have also tried to build but have failed. I cannot understand the cmake instructions: Not sure about the root paths. Perhaps if more detailed instructions were provided, but do let me know if these binaries become available. Thanks for the excellent work!
from hdblackbird.
I promise it's coming soon. I might spend some personal time to update the README, or guide you here how to do it. I am slowly wrapping up with #67, then I can have a look to help you with the build process. Are you intending to use it with Solaris or without it? I am asking because building it against vanilla USD is much simpler.
from hdblackbird.
Hi. I'd be happy with any workflow improvements for rendering with Cycles from Houdini. But I assume that means Solaris.
from hdblackbird.
If you wish to test it, here I created the repo https://github.com/bareya/hdcycles_for_houdini. There are some requirements to build it:
git
cmake-3.18+
gcc-6
patch
command installedhoudini-18.5.519+
To build it we have to clone the repo, and pass the compiler with install directory to the building system. I assumed Houdini on Linux is install under /opt/hfs18.5
and it is at least 18.5.519
build. If you wish to modify it, please make a PR!
git clone https://github.com/bareya/hdcycles_for_houdini
cd hdcycles_for_houdini
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/tmp/build -DCMAKE_CXX_COMPILER=g++-6 -DCMAKE_C_COMPILER=gcc-6 && make
After building is done we have to export environment variables, for Hydra to find the plugin:
export PXR_PLUGINPATH_NAME=/tmp/build/plugin/usd/hdCycles/resources/:/tmp/build/plugin/usd/ndrCycles/resources/:${PXR_PLUGINPATH_NAME}
In Stage
context you can find Cycles as a new Hydra delegate.
from hdblackbird.
@bareya
Very exciting project. I look hopefully at the houdini blender combo. I am trying to build hdcycles. Must be gcc-6? Thx for your work. Linux Suse Tumbleweed.
[ 78%] Linking CXX executable stl_logging_unittest /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/utilities_unittest.dir/src/utilities_unittest.cc.o: in function
utilities_sync_val_compare_and_swap_Test::TestBody()':
utilities_unittest.cc:(.text+0x18a): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: utilities_unittest.cc:(.text+0x27b): undefined reference to
testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: utilities_unittest.cc:(.text+0x36f): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' collect2: error: ld returned 1 exit status gmake[5]: *** [CMakeFiles/utilities_unittest.dir/build.make:108: utilities_unittest] Error 1 gmake[4]: *** [CMakeFiles/Makefile2:164: CMakeFiles/utilities_unittest.dir/all] Error 2 gmake[4]: *** Waiting for unfinished jobs.... /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/symbolize_unittest.dir/src/symbolize_unittest.cc.o: in function
Symbolize_Symbolize_Test::TestBody()':
symbolize_unittest.cc:(.text+0x348): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: symbolize_unittest.cc:(.text+0x436): undefined reference to
testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
collect2: error: ld returned 1 exit status
gmake[5]: *** [CMakeFiles/symbolize_unittest.dir/build.make:108: symbolize_unittest] Error 1
gmake[4]: *** [CMakeFiles/Makefile2:218: CMakeFiles/symbolize_unittest.dir/all] Error 2
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/demangle_unittest.dir/src/demangle_unittest.cc.o: in function Demangle_CornerCases_Test::TestBody()': demangle_unittest.cc:(.text+0x1e9): undefined reference to
testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: demangle_unittest.cc:(.text+0x3ce): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: demangle_unittest.cc:(.text+0x5b6): undefined reference to
testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: demangle_unittest.cc:(.text+0x6cd): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: demangle_unittest.cc:(.text+0x7c9): undefined reference to
testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/demangle_unittest.dir/src/demangle_unittest.cc.o:demangle_unittest.cc:(.text+0x8c0): more undefined references to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' follow /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/demangle_unittest.dir/src/demangle_unittest.cc.o: in function
testing::internal::PrintTo(std::string const&, std::ostream*)':
demangle_unittest.cc:(.text._ZN7testing8internal7PrintToERKSsPSo[_ZN7testing8internal7PrintToERKSsPSo]+0x1f): undefined reference to testing::internal::PrintStringTo(std::string const&, std::ostream*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/demangle_unittest.dir/src/demangle_unittest.cc.o: in function
testing::AssertionResult::AppendMessage(testing::Message const&)':
demangle_unittest.cc:(.text._ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE[_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE]+0x77): undefined reference to testing::Message::GetString() const' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/demangle_unittest.dir/src/demangle_unittest.cc.o: in function
testing::AssertionResult testing::internal::CmpHelperEQFailure<std::string, char const*>(char const*, char const*, std::string const&, char const* const&)':
demangle_unittest.cc:(.text.ZN7testing8internal18CmpHelperEQFailureISsPKcEENS_15AssertionResultES3_S3_RKT_RKT0[ZN7testing8internal18CmpHelperEQFailureISsPKcEENS_15AssertionResultES3_S3_RKT_RKT0]+0x6c): undefined reference to testing::internal::EqFailure(char const*, char const*, std::string const&, std::string const&, bool)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/logging_unittest.dir/src/logging_unittest.cc.o: in function
main':
logging_unittest.cc:(.text+0x2e7b): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/logging_unittest.dir/src/logging_unittest.cc.o: in function
TestCustomLoggerDeletionOnShutdown()':
logging_unittest.cc:(.text+0xcdb8): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/logging_unittest.dir/src/logging_unittest.cc.o: in function
google::BenchmarkRegisterer::BenchmarkRegisterer(char const*, void ()(int))':
logging_unittest.cc:(.text._ZN6google19BenchmarkRegistererC2EPKcPFviE[_ZN6google19BenchmarkRegistererC5EPKcPFviE]+0xa8): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/logging_unittest.dir/src/logging_unittest.cc.o: in function
testing::AssertionResult testing::internal::CmpHelperEQFailure<int, int>(char const, char const*, int const&, int const&)':
logging_unittest.cc:(.text.ZN7testing8internal18CmpHelperEQFailureIiiEENS_15AssertionResultEPKcS4_RKT_RKT0[ZN7testing8internal18CmpHelperEQFailureIiiEENS_15AssertionResultEPKcS4_RKT_RKT0]+0x6c): undefined reference to testing::internal::EqFailure(char const*, char const*, std::string const&, std::string const&, bool)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/logging_unittest.dir/src/logging_unittest.cc.o: in function
testing::AssertionResult testing::internal::CmpHelperEQFailure<void*, void*>(char const*, char const*, void* const&, void* const&)':
logging_unittest.cc:(.text.ZN7testing8internal18CmpHelperEQFailureIPvS2_EENS_15AssertionResultEPKcS5_RKT_RKT0[ZN7testing8internal18CmpHelperEQFailureIPvS2_EENS_15AssertionResultEPKcS5_RKT_RKT0]+0x6c): undefined reference to testing::internal::EqFailure(char const*, char const*, std::string const&, std::string const&, bool)' collect2: error: ld returned 1 exit status gmake[5]: *** [CMakeFiles/demangle_unittest.dir/build.make:108: demangle_unittest] Error 1 gmake[4]: *** [CMakeFiles/Makefile2:191: CMakeFiles/demangle_unittest.dir/all] Error 2 /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/stl_logging_unittest.dir/src/stl_logging_unittest.cc.o: in function
TestSTLLogging()':
stl_logging_unittest.cc:(.text+0x880): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: stl_logging_unittest.cc:(.text+0x9c9): undefined reference to
testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: stl_logging_unittest.cc:(.text+0xb12): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: stl_logging_unittest.cc:(.text+0xf1b): undefined reference to
testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: stl_logging_unittest.cc:(.text+0x1064): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/stl_logging_unittest.dir/src/stl_logging_unittest.cc.o:stl_logging_unittest.cc:(.text+0x11ad): more undefined references to
testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' follow
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/stl_logging_unittest.dir/src/stl_logging_unittest.cc.o: in function testing::internal::PrintTo(std::string const&, std::ostream*)': stl_logging_unittest.cc:(.text._ZN7testing8internal7PrintToERKSsPSo[_ZN7testing8internal7PrintToERKSsPSo]+0x1f): undefined reference to
testing::internal::PrintStringTo(std::string const&, std::ostream*)'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/stl_logging_unittest.dir/src/stl_logging_unittest.cc.o: in function testing::AssertionResult testing::internal::CmpHelperEQFailure<std::string, char [9]>(char const*, char const*, std::string const&, char const (&) [9])': stl_logging_unittest.cc:(.text._ZN7testing8internal18CmpHelperEQFailureISsA9_cEENS_15AssertionResultEPKcS5_RKT_RKT0_[_ZN7testing8internal18CmpHelperEQFailureISsA9_cEENS_15AssertionResultEPKcS5_RKT_RKT0_]+0x6c): undefined reference to
testing::internal::EqFailure(char const*, char const*, std::string const&, std::string const&, bool)'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/stl_logging_unittest.dir/src/stl_logging_unittest.cc.o: in function testing::AssertionResult testing::internal::CmpHelperEQFailure<std::string, char [36]>(char const*, char const*, std::string const&, char const (&) [36])': stl_logging_unittest.cc:(.text._ZN7testing8internal18CmpHelperEQFailureISsA36_cEENS_15AssertionResultEPKcS5_RKT_RKT0_[_ZN7testing8internal18CmpHelperEQFailureISsA36_cEENS_15AssertionResultEPKcS5_RKT_RKT0_]+0x6c): undefined reference to
testing::internal::EqFailure(char const*, char const*, std::string const&, std::string const&, bool)'
collect2: error: ld returned 1 exit status
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/stl_logging_unittest.dir/src/stl_logging_unittest.cc.o: in function testing::AssertionResult testing::internal::CmpHelperEQFailure<unsigned long, int>(char const*, char const*, unsigned long const&, int const&)': stl_logging_unittest.cc:(.text._ZN7testing8internal18CmpHelperEQFailureImiEENS_15AssertionResultEPKcS4_RKT_RKT0_[_ZN7testing8internal18CmpHelperEQFailureImiEENS_15AssertionResultEPKcS4_RKT_RKT0_]+0x6c): undefined reference to
testing::internal::EqFailure(char const*, char const*, std::string const&, std::string const&, bool)'
gmake[5]: *** [CMakeFiles/logging_unittest.dir/build.make:108: logging_unittest] Error 1
gmake[4]: *** [CMakeFiles/Makefile2:245: CMakeFiles/logging_unittest.dir/all] Error 2
collect2: error: ld returned 1 exit status
gmake[5]: *** [CMakeFiles/stl_logging_unittest.dir/build.make:108: stl_logging_unittest] Error 1
gmake[4]: *** [CMakeFiles/Makefile2:812: CMakeFiles/stl_logging_unittest.dir/all] Error 2
gmake[3]: *** [Makefile:182: all] Error 2
make[2]: *** [CMakeFiles/glog.dir/build.make:93: glog-prefix/src/glog-stamp/glog-install] Error 2
make[1]: *** [CMakeFiles/Makefile2:155: CMakeFiles/glog.dir/all] Error 2
make: *** [Makefile:103: all] Error 2
`
from hdblackbird.
Hi @alex3dpl, If you wish to use it with Houdini then yes gcc-6 is necessary. Also, I disabled GTEST for you
bareya/hdcycles_for_houdini@577691a
bareya/hdcycles_for_houdini@20efc3c
You can give it a try, it might work. I disabled new ABI here
from hdblackbird.
Thank you @bareya. I was able to build hdcycles plugins with gcc 10 in tmp/... directories. Houdini works fine on Suse Thumbleweed, but doesn't see hdcycles plugins.
A few questions :)
How can I diagnose what is the real cause? The command should be entered in the linux console?
export PXR_PLUGINPATH_NAME=/tmp/build/plugin/usd/hdCycles/resources/:/tmp/build/plugin/usd/ndrCycles/resources/:${PXR_PLUGINPATH_NAME}
Thx for the help.
from hdblackbird.
I think it compiles with gcc-10
, but it might not work with Houdini that is compiled with gcc-6
. Use
export TF_DEBUG="*"
To get the details why plug is not being loaded.
from hdblackbird.
@bareya export TF_DEBUG="*" unfortunately shows nothing :) What distro are you using for hdcycles, Red Hat, CentOS? It's a very interesting project. Gcc 6.3 is a bit too old to build on Suse Thumbleweed. I'll try to build it myself, but can you share any linux build, like as was with hdcycles for Windows?
from hdblackbird.
@alex3dpl TF_DEBUG
comes from USD and is an environment variable that controls Tf behaviour.
So far it worked for me on Windows-10, Ubuntu-20.04, and CentOS-7. Those are the setups that I use on daily basis.
It's difficult to upload the build because it statically links with Cycles, so the binaries are about 150MB. Here is one of my dev branches: https://we.tl/t-Geu2pkGEbh. Some parts might be built in debug mode - it might be slow.
from hdblackbird.
@bareya thank you very much (dzięki wielkie Piotrze). I will try. Maybe there is something wrong with my USD. I watched the Nvidia GTC conference - hdcycles will be part of blackbird renderer or a separate plugin?
I have high hopes for the blender houdini pipeline.
from hdblackbird.
Related Issues (20)
- Proxy geometry crashes HdCycles/Houdini
- Crash on resize viewport in houdini
- Revisit instancing code
- Stretched preview before rendering new frame HOT 1
- Houdini grid overlapping render output HOT 2
- Curves render clipped HOT 1
- Delegate mesh attribute computation to ResourceRegistry HOT 1
- husk -j argument is not carried to the cycles delegate
- Add texture limit parameter
- Time varying attributes
- No fallback on visibility controls (other settings may not either) HOT 2
- Add suport for arbitrary attributes for meshes
- Building on windows HOT 3
- Crash when exiting hdBlackbird HOT 3
- Instances don't apply prototype source transform
- Are repositories merged? HOT 2
- Windows Compilation Issue (Boost Related) HOT 2
- Blitting code refactor
- Synchronization between Cycles scene and primitives HOT 1
- Revisit symbol visibility
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hdblackbird.