Cross-platform Development Part 1: Few tools and libraries to get started with

Continuing from Getting started, here we will see some of the basic tools and libraries that one should be acquainted with to make the cross platform development fun and easy (while respecting the audience request to consider non-Windows platforms also). One of the most challenging parts of cross-platform development is ensuring portability/correctness across all the…


Getting started with Cross-platform development

They say if you do not eat, drink, sleep C/C++ – then the chances are you are not a real developer. Is it? May be, may be not. But certainly if you have not done cross-platform development or design, you cannot claim to be a good architect or developer. Is cross-platform development really so special?…

3

Maya 2010 to include Compositing and Camera Tracking Tools

Autodesk, as usual, announced its next version of Maya at Siggraph. The interesting part, however, is the range of tools planned to be shipped as part of it: Maya Composite high dynamic range compositing system Matchmoving camera tracking system Additional MentalRay for batch rendering nodes etc… Not to mention the entire Maya unlimited 2009 tool-set…


How to make my water surface animate in Vue?

When a Water object is added to the Vue scene, it will be in a staic form without any animation applied to its surface. If you would like to have the water surface animated, then we have to enable its Displaced Water Surface property. This property allows the waves at the surface to be converted…

2

Displaying the currently selected components with MSelectionList

The MGlobal::getActiveSelectionList() offers a convenient way of accessing the currently selected objects in the view. However, if you wish to find the selected components then you need to use the MSelectionList’s getDagPath() method. It returns the dagPath of the seleted object and also the selected components of it. Once we have the dagPath of the…

1

How to find the Shading Groups for a Shape node in Maya API?

Given the DagPath for any Mesh object, listing the Shading Groups connected to it is easy. The MFnMesh::getConnectedSetsAndMembers() will do the trick as shown below: MStatus ListShadingGroups(const MDagPath& inputShapeDagPath){ if(inputShapeDagPath.hasFn(MFn::kMesh)) { // Find the Shading Engines Connected to the SourceNode MFnMesh fnMesh(inputShapeDagPath.node()); // A ShadingGroup will have a MFnSet MObjectArray sets, comps; fnMesh.getConnectedSetsAndMembers(inputShapeDagPath.instanceNumber(), sets, comps,…


Having trouble with PoserFusion Shelf in Maya?

If you are encountering errors with Poser Fusion shelf buttons in Maya such as “Error: No Selection, or the Currently Selected object is not linked to a Poser file”, then try the below steps and see if its helps. First of all ensure that your POSER_LOCATION environment variable is set correctly. It should read something…

15

Well-designed libraries

It is very rare that we come across a well-designed library every day, and even rare that we get a chance to work on them on daily basis. While it is hard to define what makes any given library “well-designed”, it is rather easy to identify what is not. However, there are few exceptionally good…

1

Populating a tree control with Maya DAG Nodes

MItDag offers a convenient way to iterate over the DAG nodes in any Maya scene, but not in a way that is useful for populating the visited nodes in a Windows tree control. This is because MItDag gives a linear list of nodes that make it a little bit difficult to get back the parent-child…

1