Site Tools

Developer Learning Resources

A list of resources which developers found helpful to learn programming languages, methods, or tips and tricks as they apply to programming for Rhino.

Learning RhinoScript

There are a bunch of fantastic resources avalible for learning RhinoScript. Most of them are located on the RhinoScript Wiki page.

Learning C++

To write plug-ins for Rhino using the standard SDK, you first need to learn the C++ programing language itself.

ISBN-13: 978-0672326974

Sam says: This is a fantastic intro to C++ book for people with little or no programming experience. Although this book looks intimidating (1224 pages), it has a nice slow pace for beginners so you don't start feeling lost. The author has a friendly writing style, and the projects in the book progress at a pace slow enough so it is understandable, but not so slow that it is boring (for a beginner).

Learning MFC

The Rhino SDK is heavily based on MFC (Microsoft Foundation Class), a set of Microsoft libraries included with the Standard and Professional versions of Visual Studio which handle things like creating windows and writing files to disk. (It is not included in the Express edition.) An understanding of MFC will make understanding Rhino plug-ins a much simpler task.

ISBN-13: 978-0130166296

Sam says: I started with a book geared to a more experienced audience and quickly got discouraged thinking that I would never understand MFC. Introduction to MFC Programming with Visual C++ is exactly what it says, an introduction. It won't teach you everything, but if you are just starting out with MFC and have a decent understanding of C++ (I am doing fine so far with this book only having read C++ Primer Plus) it is a great first step into MFC. The book starts you out writing simple console applications (which, if you start with something like the Prata book, will be very familiar to you by this point) and starts adding small portions of MFC bit by bit so you don't get overwhelmed. One note about this book: in the very first example program it has you try to use cout with a CString, which cout does not understand. So instead of seeing your string output, you only see its memory address, which is not a great way to start the book off. But beyond that it has been good.

Programming Windows with MFC

by Jeff Prosise

ISBN-13: 978-1572316959

Sam says: This is the book I tried to start with learning MFC, and I quickly got lost with it. I personally don't think this a book for absolute beginners, but rather people who are very familiar with programming for Windows (using the Windows API) but need to learn MFC. Having forced my way through part of it before setting it aside and starting with the MFC intro book, I can see that it would be a valuable resource down the line as I learn more. This book covers what I would consider some of the more complex aspects of MFC such as versioning and threading. My only (silly) gripe with this book is that for my copy at least, the binding is terrible. The book is now in about 10 different pieces (although binding a 1376 page hardcover can't be easy).

Learning .NET

If you wish to write plug-ins for the Rhino.NET SDK, you will need to understand a .NET compatible programming language like VB.NET or C#.

Understanding NURBS programing

These are some resources for programming with NURBs if you are trying to work with the openNURBS toolkit.

Introduction to Computer Graphics

by James D. Foley

ISBN-13: 978-0201609219

Dale Fugier says: Another book worth having…

The Nurbs Book (Monographs in Visual Communication)

by Les A. Piegl, Wayne Tiller

ISBN-13: 978-3540615453

An Introduction to Nurbs: With Historical Perspective

by David F. Rogers

ISBN-13: 978-1558606692

Jonathan Chertok says: My experience was that the Piegl/Tiller book was oriented towards mathematicians and quite technical. The Rogers book had some moderately interesting historical info which I had run across previously, and some technical but not very well laid out mathematics.

Web resources:

B-rep objects:

The following diagram, posted on the plug-ins newsgroup by Rajaa Issa, gives a overview of B-rep objects in the context of openNURBS.

developer/learningresources.txt · Last modified: 2015/09/14 (external edit)