• Shader Toy – GLSL ES Online Editor, Compiler & Previewer

    Digging around the web the other day looking for GLSL ES info and I came across this site, it's a nifty online editor, compiler and previewer.

    It comes with some examples of 2D, 3D and Plane Deformer shaders and it can take input from Time, Mouse(LMB with current pixel and clicked pixel), Viewport Resolution and 4 Texture(sampler2D) channels.

    Happy Shading!

    http://www.iquilezles.org/apps/shadertoy/






  • Shift dragging files into Maya 2012

    Shift dragging files into Maya 2012 can be a risky business; it turns out that it will delete your file.

    So if you are after new ways of off-loading some of those pesky files that clutter your hard-drive simply shift drag them into Maya and all your dreams will come true. This works for even for Maya native files, they are imported then deleted from the source location. A simple restore from the recycling bin will cease your soon to be heart attack.

    Happy Undeleting!


  • Modifying project files in Visual Studio during pre-build

     

     

     

    So it turns out that Visual Studio uses the application's cache if a file is open at build time instead of loading the file off disk...ok so this is good, when you want to save memory and speed up the build process. BUT when you are editing a source file that is being created/modified during the Pre-Build step, then you are in a little bit of trouble. Read the rest of this entry »


  • Perforce: Force update missing workspace files

     

     

    Q: So I've accidentally deleted some random local files and I have no idea which ones. How do I get the files back when Perforce thinks they are still in my local workspace? I don't want to force update all the files, that would take way too long.

    A: Force update will do the trick, but it will take forever to pull the files down. With a little bit of digging in the documentation there is a way to diff your workspace against the Depot.

     

      p4 diff -sd //Depot/path/... > UpdateList.txt
      p4 -x UpdateList.txt sync -f

    Read the rest of this entry »


  • Qt Overdraw

    When I was working on my last tutorial I came across an interesting issue with the Qt UI. I went through all the elements using windows modifier and notices a number of elements that appear to be dupes.

    Maya Perspective window after I started to shift some elements out

    Read the rest of this entry »


  • Integrating .Net & Maya 2012 UI – Pt 1

    This article is specific to Maya 2012, I have also created an alternate tutorial for Maya 2009 (32bit) Developers

    In this multi-part tutorial we’ll be covering two main areas, embedding .Net forms within Maya and extracting Maya UI components and embedding them within your .Net dialogs. To get this to work we will be exploiting the windows messaging system and as a result, this will only work on Windows based systems. This technique is not exclusive to Maya and can be used for many other applications and has saved me on many occasions. Please understand that this tutorial is aimed at intermediate users of .Net and Maya Python scripting, as there will be some C# code used to interface with the windows messaging system and Python code to load the .Net windows within Maya. If you want to learn more about the following concepts you can check out the Addition Resources I have included.

    Read the rest of this entry »


  • Integrating .Net & Maya 2009 UI – Pt 1

    This article is specific to Maya 2009, I have also created an updated tutorial for Maya 2012 (64bit) Developers

    In this multi-part tutorial we’ll be covering two main areas, embedding .Net forms within Maya and extracting Maya UI components and embedding them within your .Net dialogs. To get this to work we will be exploiting the windows messaging system and as a result, this will only work on Windows based systems. This technique is not exclusive to Maya and can be used for many other applications and has saved me on many occasions. Please understand that this tutorial is aimed at intermediate users of .Net and Maya Python scripting, as there will be some C# code used to interface with the windows messaging system and Python code to load the .Net windows within Maya. If you want to learn more about the following concepts you can check out the Addition Resources I have included.

    Read the rest of this entry »


  • Reel 2010

    This is a compilation of some of the Maya tools I have created and was able to show. 3dsMax reel still to come.

    If you want more details, check out the videos section.


  • Dirty Verty Node

    Language: C++ Maya API Node

    Summary: This C++ Maya API node is a compiled version of a Mel script, it assigns a color to a vert based on its convexity to the neighboring edges. This node can either use a color or take a Ramp node. It also includes an option to normalize the convexity values.


  • Shader and Material Definition Creator

    Language: Python, PyMel

    Summary: This Iterates through all the selected object materials and creates optimized hypergraph materials,  material definition and shader files. These can then be used directly by the game engine.


  • Color Tools Node

    Language: C++ Maya API Node

    Summary: This node is a PolyModify Node that works on the vertex colors of a mesh, it enables the user to adjust Hue, Saturation and Value.


  • MI Exposure Control Node

    Language: C++ Maya API Node

    Summary: This node is a PolyModify Node that works on the vertex colors of a mesh, it enables the user to adjust exposure on a baked mesh.


  • Mesh Blend Maker

    Language: Python, PyMel

    Summary: This script will take a mesh that has been painted in conjunction with the multimaterial.Fx shader and breaks it up into a base layer and top/blend layer. The appropriate materials are then assigned to the parts to optimize render cycles.


  • Normals Toolbox

    Language: MEL Script

    Summary: This tool is a collection of scripts that help modify the Normals vector on a given mesh. It included the Artisan paint tool to comb the Normals, Attract/Repel Normals using a target gizmo and a randomize function; these functions can be adjusted using the random variance and blend values.


  • Paint on Textures

    Language: MEL Script

    Summary: This is a fast tool for texture application based on the bin system in the hypershade. It will create a number a tabs containing the textures  found in those bins and through the use of artisan apply the materials to the model; an option is also included if you wish to normalize the painted face.