Author Archives: anoop a k

About anoop a k

Artist, Programmer, Technology Enthusiast. Technical Director @ Dreamworks Animation

Pixar’s Universal Scene Description- Setup

usdview

Universal Scene Description (USD) is an efficient, scalable system for authoring, reading, and streaming time-sampled scene description for interchange between graphics applications. A preview build is available for early adopters, here.

There are two tarballs available for download, usd-20151216.tar.gz which includes the USD libraries, and deps-vfx2015.tar.gz which includes all the dependent libraries required by USD.

If you wanna get this up and running without taking the pain to read through the detailed setup instructions, you may download the following gist and run as root. Don’t forget to add the following line to your ~/.bashrc

source /opt/pixar/usd/bin/activate.sh

As per the package README, the pre-built binaries expect to find library dependencies in /opt/pixar/usd-vfx2015. I went ahead with the recommended install location.


sudo mkdir /opt/usd

# Assuming you downloaded the files to ~/Downloads

sudo tar xfv ~/Downloads/usd-20151216.tar.gz -C /opt/pixar

sudo tar xfv ~/Downloads/deps-vfx2015.tar.gz -C /opt/pixar

The default shell for CentOS is bash. So if you are haven’t changed to any other shell, you can add the following line to your ~/.bashrc file so that the environment is set correctly before you proceed building the dependencies.

source /opt/pixar/usd/bin/activate.sh

Next step is to install the dependencies.


yum groupinstall "Development Tools"

yum install zlib-devel

yum install glibc-devel.i686

You may use the links below to download the rest of the dependencies.

http://ftp.gnu.org/gnu/binutils/binutils-2.24.tar.gz

http://ftp.gnu.org/gnu/gmp/gmp-5.1.2.tar.bz2

http://www.mpfr.org/mpfr-3.1.2/mpfr-3.1.2.tar.gz

http://ftp.gnu.org/gnu/mpc/mpc-1.0.1.tar.gz

http://download.oracle.com/berkeley-db/db-4.7.25.NC.tar.gz

http://mirrors.concertpass.com/gcc/releases/gcc-4.8.2/gcc-4.8.2.tar.gz

Create a temp directory in your home directory and extract each of the packages in to that.


mkdir /tmp/usd_build

cd /tmp/usd_build

# Assuming you downloaded the files to ~/Downloads

tar xfv ~/Downloads/binutils-2.24.tar.gz

tar xfv ~/Downloads/mpfr-3.1.2.tar.gz 

tar xfv ~/Downloads/mpc-1.0.1.tar.gz 

tar xfv ~/Downloads/db-4.7.25.NC.tar.gz 

tar xfv ~/Downloads/gmp-5.1.2.tar.bz2 

tar xfv ~/Downloads/gcc-4.8.2.tar.gz 

sudo /opt/pixar/usd/bin/build_deps.sh /tmp/usd_build/

If the build was successful, you should be able to see the following in the console.

Libraries have been installed in:
/opt/pixar/usd-vfx2015/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR’
flag during linking and do at least one of the following:
– add LIBDIR to the `LD_LIBRARY_PATH’ environment variable
during execution
– add LIBDIR to the `LD_RUN_PATH’ environment variable
during linking
– use the `-Wl,–rpath -Wl,LIBDIR’ linker flag
– have your system administrator add LIBDIR to `/etc/ld.so.conf’

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
———————————————————————-
Installing DB utilities: /opt/pixar/usd-vfx2015/bin …
cp -p .libs/db_archive /opt/pixar/usd-vfx2015/bin/db_archive
cp -p .libs/db_checkpoint /opt/pixar/usd-vfx2015/bin/db_checkpoint
cp -p .libs/db_codegen /opt/pixar/usd-vfx2015/bin/db_codegen
cp -p .libs/db_deadlock /opt/pixar/usd-vfx2015/bin/db_deadlock
cp -p .libs/db_dump /opt/pixar/usd-vfx2015/bin/db_dump
cp -p .libs/db_hotbackup /opt/pixar/usd-vfx2015/bin/db_hotbackup
cp -p .libs/db_load /opt/pixar/usd-vfx2015/bin/db_load
cp -p .libs/db_printlog /opt/pixar/usd-vfx2015/bin/db_printlog
cp -p .libs/db_recover /opt/pixar/usd-vfx2015/bin/db_recover
cp -p .libs/db_stat /opt/pixar/usd-vfx2015/bin/db_stat
cp -p .libs/db_upgrade /opt/pixar/usd-vfx2015/bin/db_upgrade
cp -p .libs/db_verify /opt/pixar/usd-vfx2015/bin/db_verify
Installing documentation: /opt/pixar/usd-vfx2015/docs …
+ echo ‘Done!’
Done!
+ exit 0

I had done a fresh install of CentOS 6.x for testing USD. Hence had forgot to install the graphics drivers for my rig. So I ran in to this error.

ImportError: libOpenCL.so.1: cannot open shared object file: No such file or directory

You can get the graphics card drivers (NVIDIA/ATI) installed, to fix this error.

You can test if the installation was successful by loading one of the example files using the usdview application.

The tutorials can be found under /opt/pixar/usd/tutorials/

 

3D Rendering on Raspberry Pi using Aqsis renderer

checkout my rendering experiments using Raspberry Pi

Raspberryments


The first thing I do once I buy a new computer is to put it to test to see how it performs when it comes to rendering complex 3d scene. Being a technical artist, its our job to innovate the most efficient workflow to get the best out of the available resources. So what If a 3d rendering task is thrown at the Raspberry Pi?

I decided to go with Aqsis, a 3D rendering solution adhering to RenderMan standard. Why Aqsis? Because its Open Source. So its just a matter of few hours to get Aqsis built for your distro running on Raspberry Pi (Raspbian in my case). It took approximately 4 hours for me to build Aqsis from source, including the time taken to build libTiff, one of the package dependencies for Aqsis. The rest of the dependent packages were readily available for Raspbian and it took only a…

View original post 180 more words

PyQt4 for Maya2013 on Windows 7 x64

For windows users, PyQt 4.9.1 built against Qt4.7.1 and SIP4.13.2 for Maya2013 x64, can be downloaded  here . Links to the respective sources are included below.

Update: Have updated an executable to make the installation easier. You may download it here

Qt 4.7.1 source

SIP source

PyQt source

Building PyQt for Maya 2012 ( Linux x64 )

                   

SIP needs to be built prior to building PyQt.

Download SIP from here

Maya 2012 uses Qt 4.7.1.

Download it from here

Download PyQt from here

First step is to build qt from source. Extract the tarball and CD in to the directory

./configure

While running configure, if you get the following error

Basic XLib functionality test failed!

You might need to modify the include and library search paths by editing

QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/anoop/apps/sources/qt-everywhere-opensource-src-4.7.1 /mkspecs/linux-g++-64.

install teh libXext development package. I used zypper to install the package from the web

zypper install xorg-x11-libXext-devel

executing the configure after the installation gave the following error

cannot find -lXrender

this was happening because configure couldn’t find libXrender.so. This can be fixed by creating a symlink to libXrender.so.1 in the /usr/lib64 directory

ln -s /usr/lib64/libXrender.so.1 /usr/lib64/libXrender.so

After successful configuration run the following to install Qt to /usr/local/Trolltech/Qt-4.7.1 directory

make

make install

Building SIP

Extract the SIP zip archive to /home/username/SIP

cd /home/username/SIP

After setting the variables, run the following

/usr/autodesk/maya2012/bin/mayapy configure.py

make

make install

Building PyQt

Extract the archive to /home/username/PyQt-x11-gpl-4.7.4

cd PyPyQt-x11-gpl-4.7.4

/usr/autodesk/maya2012/bin/mayapy configure.py -q /usr/local/Trolltech/Qt-4.7.1/bin/qmake

make -j4

make install

PyQt4 for Maya2012 on Windows 7 x64

For windows users, PyQt 4.8.5 built against Qt4.7.1 and SIP4.12.4 for Maya2012 x64.can be downloaded  here . And like I mentioned in the last post, links to the respective sources are included below.

Qt 4.7.1 source

SIP source

PyQt source

PyQt4 for Maya2012 on openSUSE11.4 ( Linux x64 )

 PyQt 4.8.5 built against Qt4.7.1 and SIP4.12.4 for Maya2012 x64. download it here . In case you want to build  PyQt on your own you can download the sources here.

Qt 4.7.1 source

SIP source

PyQt source

Building OpenEXR libraries on Linux ( openSUSE 11.4 )

 

OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications. In order to develop plugins and tools that can handle OpenEXR file formats, you need to have the OpenEXR libraries built for your OS.

I had been not using Maya for the past few months since I have been dealing with proprietary applications used at my workplace. So I decided to continue work on Maya whenever I get back home after the days work. And what better way to start things all over again than starting with the API.

So I made a checklist of the libraries and other tools which I need to get built to start working on the same.So here I was building OpenEXR on openSUSE 11.4 and I stumbled across few things here and there which I felt would be valuable if I share with you all.

Building OpenEXR on you OS requires the zlib and ilmbase libraries which has to be linked at the time of configuring.So the first task is to get zlib and ilmbase libraries built on your machine.
I had my libraries installed in my sandbox folder which is /usr/local/sandbox referred by environment variable $SANDBOX. In case you have installed in locations other than standard paths like(/usr/include and /usr/lib) you need to make the build aware of the same.

setting the the environment variable PKG_CONFIG_PATH to $SANDBOX/lib/pkgconfig will let OpenEXR get the package info regarding zlib and ilmbase.

./configure –prefix $SANDBOX LDFLAGS=-L$SANDBOX/lib CPPFLAGS=-I$SANDBOX/include

make

While executing make if you come across the following error

main.cpp:195:28: error: ‘strcmp’ was not declared in this scope
make[1]: *** [main.o] Error 1
make[1]: Leaving directory `/home/anoop/apps/sources/openexr-1.6.1/exrenvmap’
make: *** [all-recursive] Error 1

you can fix it by including

#include <string.h>

in the header file list of main.cpp in both exrmaketiled and exrenvmap dirs.

and then execute

make install