Developer Central
China
  • Home
  • Tools & SDKs
  • Resources
  • Community
  • Partners
  • Support
  • Home
  • Tools & SDKs
  • Resources
  • Community
  • Partners
  • Support
  • Home
  • Tools & SDKs
  • Resources
  • Community
  • Partners
  • Support
  • Home
  • Tools & SDKs
  • Resources
  • Community
  • Partners
  • Support

Resources

  • Heterogeneous Computing
    • OpenCL™ Zone
      • Getting Started with OpenCL
      • Tools and Libraries
      • Programming in OpenCL™
        • Introductory Exercises and Tutorials
        • Debugging Applications
        • Optimizing Applications
        • Benchmarking Performance
        • Porting CUDA Applications to OpenCL™
        • Image Convolution Using OpenCL™
          • Image Convolution Using OpenCL™ – A Step-by-Step Tutorial Step 2
          • Image Convolution Using OpenCL™ – A Step-by-Step Tutorial Step 3
          • Image Convolution Using OpenCL™ – A Step-by-Step Tutorial Step 4
          • Image Convolution Using OpenCL™ – A Step-by-Step Tutorial Step 5
          • Image Convolution Using OpenCL™ – A Step-by-Step Tutorial Step 6
      • Training & Events
        • OpenCL™ Course: Introduction to OpenCL™ Programming
        • OpenCL™ Course: Introductory Tutorial to OpenCL™ for HPC at SAAHPC’10
        • OpenCL Programming Webinar Series
        • OpenCL™ On-Demand Webinars
      • Articles & Papers
      • Getting Started – Software & Hardware
    • What is Heterogeneous Computing?
    • What is Heterogeneous System Architecture (HSA)?
      • A Heterogenius Architecture
  • Documentation Library
  • Hardware & Drivers
    • CCC Driver Details
    • “Magny-Cours” Zone
    • ATI Catalyst™ PC Vendor ID (1002) LI
  • AFDS Videos
  • Documentation & Articles
    • Articles & Whitepapers
      • OpenCL™ Optimization Case Study: Diagonal Sparse Matrix Vector Multiplication Test
      • Barcelona’s Innovative Architecture Is Driven by a New Shared Cache
      • Bulk Encryption on GPUs
      • Develop Blazing Fast Code with Microsoft Visual Studio® 2008 and AMD Tools
      • Exploiting Multi-Core Processors in Windows Vista
      • Introduction to “Magny-Cours”
      • Java Performance when Debugging is Enabled
      • JPEG Decoding with Run-Length Encoding: A CPU and GPU Approach
      • New Round-to-Even Technique for Large-scale Data and Its Application in Integer Scaling
      • OpenCL™ and the AMD APP SDK
      • OpenCL™ and the AMD APP SDK v2.4
      • OpenCL™ Optimization Case Study Fast Fourier Transform – Part 1
      • OpenCL™ Optimization Case Study Fast Fourier Transform – Part II
      • OpenCL™ Optimization Case Study: Simple Reductions
      • OpenCL™ Optimization Case Study: Support Vector Machine Training
      • Performance Optimization of Windows Applications on AMD Processors, Part I
      • Performance Optimization of Windows Applications on AMD Processors, Part II
      • Ten Things Developers Should Know About Windows 7
      • The Windows NUMA API-What It Is and Why You Care
      • Tiled Convolution: Fast Image Filtering
    • Developer Guides & Manuals
    • Specifications & Technical Bulletins
    • Case Studies
    • Conference Presentations
      • GPU Technical Publications
      • GPU Technology Papers
    • Videos
      • AMD Developer Inside Track
      • Intro to CodeAnalyst
      • OpenCL™ Technical Overview
      • GPU Demo Videos
      • AMD & Sun Technology
      • AMD Opteron 6100 Series: A Developer’s Perspective
      • Software Optimization Video Series
      • Xen Summit North America 2010
    • Java™ Zone
    • Knowledge Base
    • OpenGL® Zone
      • OpenGL® Specifications
    • Samples & Demos
      • Processor and Core Enumeration Using CPUID
      • GPU Demos
        • Radeon™ HD 7900 Series Graphics Real-Time Demos
        • Radeon™ HD 6900 Series Graphics Real-Time Demo
        • Radeon™ HD 5000 Series Graphics Real-Time Demos
        • Radeon™ HD 4800 Series Real-Time Demos
        • FireGL™ V8600 PCI-Express Real-Time Demos
        • Radeon™ HD 3000 Series Real-Time Demo
        • Radeon™ HD 2000 Series Real-Time Demos
  • Archive
    • Events
      • AMD OpenCL Coding Competition
      • Real-Time Image Processing for Autonomous Learning and Control within 3D Virtual Worlds
      • Semi-Supervised Learning-Based Method for Adaptive Shadow Detection
      • AMD OpenCL™ Coding Competition
      • Real-time Video Effects with AMD & Kinect
      • Numerical Simulation of an X-Ray Generator
    • AppShowcase Archive
    • Archived Tools
      • Video Player Test
      • CPU Tools Archive
        • 128-Bit SSE5 Instruction Set
        • AMD String Library
        • Framewave Project
        • SSEPlus Project
      • GPU Tools Archive
        • ATI Stream Software Development Kit (SDK) v2.0 Beta Program
        • AMD Tootle
        • ASHLI – Advanced Shading Language Interface
        • ATI Radeon™ SDK
        • ATI Stream Software Development Kit (SDK) v1.4-beta
          • ATI Stream SDK MD5 Checksums
        • ATI_Compress
        • CubeMapGen
        • AMD GPU MeshMapper
        • GPU PerfStudio
        • Normal Mapper
        • RenderMonkey™ Toolsuite
          • RenderMonkey Toolsuite – IDE Features
          • RenderMonkey™ Toolsuite – Testimonials
          • RenderMonkey™ Toolsuite – SDK
        • The Compressonator
        • TruForm Resources
          • TruForm™ FAQ
      • Installing GCC on Ubuntu 8.04

Home > Resources > Archive > Archived Tools > GPU Tools Archive > RenderMonkey™ Toolsuite > RenderMonkey™ Toolsuite – SDK

RenderMonkey™ Toolsuite – SDK

Overview

One of the original design goals for RenderMonkey was to empower developers by providing a tool that was flexible and that wouldn’t impose any specific methodology. It is our belief that the developers understand their own workflow and their needs much better than we ever will. We also wanted to ensure that developers were able to innovate on top of the RenderMonker framework and weren’t relying on ATI to provide any specific functionality. The key to unlocking all this extra flexibilty is the RenderMonkey SDK. The SDK allows for the creation of custom plug-ins – which can be developed independently from the main RenderMonkey application and simply dropped in as needed.To ensure that the SDK was truly useful – and not just a check box feature, we adopted the “eat your own dog food” approach to development and used it in the development of all of the plugin modules that ship with RenderMonkey. Developers should easily be able to replicate or extend any of the current functionality through the same interface.In addition to allowing developers to create custom plug-ins to solve unanticipated problems specific to their projects, the SDK also provides a mechanism for ATI to update specific components independent from the main release cycle.

  • Example Plug-ins
  • SDK Requirements
  • Creating a new plug-in
  • Plug-in Types
  • SDK Documentation

What does the SDK enable developers to do?

  • Use your application’s / engine’s data scripts to import / export directly to / from RenderMonkey
  • Create custom GUI editors
  • Generate data procedurally (geometry objects, texture, effects)
  • Create custom geometry and texture loaders to support custom formats.

In addition to providing a standard interface to RenderMonkey, the SDK ships with the following additional functionality:

  • Win32 and MFC widget libraries that can be used to maintain the look and feel of the application.
  • An efficient STL-like library for managing data in familiar data structures such as linked lists, vectors, and strings (supporting both Unicode and ASCII).
  • Math helper functions and classes
  • Scene graph mesh management
  • Image loading and an integrated image management library.

Example Plug-ins

The following example plugins ship with the SDK:

  • Scalar editor – used for editing scalar variables
  • Color editor – used for editing color variables
  • HLSL Shader editor – edit HLSL shaders
  • Texture Object Editor- edit texture objects, setup texture stages and relevant texture and sampler states
    • RenderMonkey workspace package exporter (exports any RenderMonkey workspace with all of its textures and models into a single zip file for distribution)
    • Procedural texture generator (using HLSL for texture function specification)
    • Procedural geometry generator:
    • Generate basic geometric shapes (cube, sphere, etc)
    • Generate degenerate edge quads for your models – and use them for shadow volumes, fur fins, etc.
    • And many more …


Scalar Editor


Custom Color Editor


HLSL Shader Editor

Texture Object Editor

SDK Requirements

  • Windows XP
  • Visual Studio 2005
  • Win32 and/or MFC for GUI development
  • DirectX 9.1 SDK

The SDK is written in vanilla C++. Please refer to the sample projects included with the SDK for examples of both MFC and Win32 plug-ins. Certain SDK projects require DirectX 9.1 SDK for development.

Creating a new plug-in

To factilitate the creation of new plug-ins, RenderMonkey ships with an SDK project wizard – which can be launched from the main RenderMonkey application to create a template for a new plug-in project. The plug-in wizard is found on the Help menu and offers the developer a choice of available plugin types. Simply select the appropriate type, type the name for your project and click “OK”. The RenderMonkey IDE will automatically generate source code and project files for Visual Studio 2005 in the directory {RenderMonkey Install Dir}/SDK/Projects/ .Alternatively, you can use one of the examples for each plug-in type that RenderMonkey supports (found in the SDK/Examples directory) and you are ready to create one of your own monkeys.

Plug-in Types

 

IRmPlugIn
Generic RenderMonkey plug-in interface designed to receive main communication messages from the main application and to specify a property page dialog for main application
  • IRmEditorPlugIn A node editor plug-in. This plug-in is used by the main application to edit nodes supported by this plug-in.
  • IRmImporterPlugInA plug-in implementing this interface is used by the main application to import data from external formats into the run-time database.
  • IRmExporterPlugIn A plug-in implementing this interface is used by the main application to export data from the run-time database into an external format.
  • IRmGeometryLoaderPlugInThis plug-in type is used by the main application to import geometry data from a supported file format into RenderMonkey model data node.
  • IRmTextureLoaderPlugInThis plug-in type is used by the main application to import texture data from a supported file format into RenderMonkey texture data node.
  • IRmGeneratorPlugIn This plug-in type is used by the main application to generate data for a RenderMonkey node.
Back to top

SDK Documentation

  • SDK overview and project setup
  • Doxygen files for the RenderMonkey SDK
  • GDC 2004 RenderMonkey SDK presentation:Custom Component Development with the RenderMonkey SDK

Get the hcNewsFlash.

Your email address:

No SPAM.
Easy unsubscribe.

HSA is going to rock your world.

Learn more about Heterogeneous System Architecture.

Got Questions?

Ask the Developer Forums Community. They’ve got answers.

Resources

  • Heterogeneous Computing
    • OpenCL™ Zone
      • Getting Started with OpenCL
      • Tools and Libraries
      • Programming in OpenCL™
        • Introductory Exercises and Tutorials
        • Debugging Applications
        • Optimizing Applications
        • Benchmarking Performance
        • Porting CUDA Applications to OpenCL™
        • Image Convolution Using OpenCL™
          • Image Convolution Using OpenCL™ – A Step-by-Step Tutorial Step 2
          • Image Convolution Using OpenCL™ – A Step-by-Step Tutorial Step 3
          • Image Convolution Using OpenCL™ – A Step-by-Step Tutorial Step 4
          • Image Convolution Using OpenCL™ – A Step-by-Step Tutorial Step 5
          • Image Convolution Using OpenCL™ – A Step-by-Step Tutorial Step 6
      • Training & Events
        • OpenCL™ Course: Introduction to OpenCL™ Programming
        • OpenCL™ Course: Introductory Tutorial to OpenCL™ for HPC at SAAHPC’10
        • OpenCL Programming Webinar Series
        • OpenCL™ On-Demand Webinars
      • Articles & Papers
      • Getting Started – Software & Hardware
    • What is Heterogeneous Computing?
    • What is Heterogeneous System Architecture (HSA)?
      • A Heterogenius Architecture
  • Documentation Library
  • Hardware & Drivers
    • CCC Driver Details
    • “Magny-Cours” Zone
    • ATI Catalyst™ PC Vendor ID (1002) LI
  • AFDS Videos
  • Documentation & Articles
    • Articles & Whitepapers
      • OpenCL™ Optimization Case Study: Diagonal Sparse Matrix Vector Multiplication Test
      • Barcelona’s Innovative Architecture Is Driven by a New Shared Cache
      • Bulk Encryption on GPUs
      • Develop Blazing Fast Code with Microsoft Visual Studio® 2008 and AMD Tools
      • Exploiting Multi-Core Processors in Windows Vista
      • Introduction to “Magny-Cours”
      • Java Performance when Debugging is Enabled
      • JPEG Decoding with Run-Length Encoding: A CPU and GPU Approach
      • New Round-to-Even Technique for Large-scale Data and Its Application in Integer Scaling
      • OpenCL™ and the AMD APP SDK
      • OpenCL™ and the AMD APP SDK v2.4
      • OpenCL™ Optimization Case Study Fast Fourier Transform – Part 1
      • OpenCL™ Optimization Case Study Fast Fourier Transform – Part II
      • OpenCL™ Optimization Case Study: Simple Reductions
      • OpenCL™ Optimization Case Study: Support Vector Machine Training
      • Performance Optimization of Windows Applications on AMD Processors, Part I
      • Performance Optimization of Windows Applications on AMD Processors, Part II
      • Ten Things Developers Should Know About Windows 7
      • The Windows NUMA API-What It Is and Why You Care
      • Tiled Convolution: Fast Image Filtering
    • Developer Guides & Manuals
    • Specifications & Technical Bulletins
    • Case Studies
    • Conference Presentations
      • GPU Technical Publications
      • GPU Technology Papers
    • Videos
      • AMD Developer Inside Track
      • Intro to CodeAnalyst
      • OpenCL™ Technical Overview
      • GPU Demo Videos
      • AMD & Sun Technology
      • AMD Opteron 6100 Series: A Developer’s Perspective
      • Software Optimization Video Series
      • Xen Summit North America 2010
    • Java™ Zone
    • Knowledge Base
    • OpenGL® Zone
      • OpenGL® Specifications
    • Samples & Demos
      • Processor and Core Enumeration Using CPUID
      • GPU Demos
        • Radeon™ HD 7900 Series Graphics Real-Time Demos
        • Radeon™ HD 6900 Series Graphics Real-Time Demo
        • Radeon™ HD 5000 Series Graphics Real-Time Demos
        • Radeon™ HD 4800 Series Real-Time Demos
        • FireGL™ V8600 PCI-Express Real-Time Demos
        • Radeon™ HD 3000 Series Real-Time Demo
        • Radeon™ HD 2000 Series Real-Time Demos
  • Archive
    • Events
      • AMD OpenCL Coding Competition
      • Real-Time Image Processing for Autonomous Learning and Control within 3D Virtual Worlds
      • Semi-Supervised Learning-Based Method for Adaptive Shadow Detection
      • AMD OpenCL™ Coding Competition
      • Real-time Video Effects with AMD & Kinect
      • Numerical Simulation of an X-Ray Generator
    • AppShowcase Archive
    • Archived Tools
      • Video Player Test
      • CPU Tools Archive
        • 128-Bit SSE5 Instruction Set
        • AMD String Library
        • Framewave Project
        • SSEPlus Project
      • GPU Tools Archive
        • ATI Stream Software Development Kit (SDK) v2.0 Beta Program
        • AMD Tootle
        • ASHLI – Advanced Shading Language Interface
        • ATI Radeon™ SDK
        • ATI Stream Software Development Kit (SDK) v1.4-beta
          • ATI Stream SDK MD5 Checksums
        • ATI_Compress
        • CubeMapGen
        • AMD GPU MeshMapper
        • GPU PerfStudio
        • Normal Mapper
        • RenderMonkey™ Toolsuite
          • RenderMonkey Toolsuite – IDE Features
          • RenderMonkey™ Toolsuite – Testimonials
          • RenderMonkey™ Toolsuite – SDK
        • The Compressonator
        • TruForm Resources
          • TruForm™ FAQ
      • Installing GCC on Ubuntu 8.04

©2013 Advanced Micro Devices, Inc. OpenCL and the OpenCL logo are trademarks of Apple, Inc., used with permission by Khronos.

  • Contact Us
  • |
  • Careers
  • |
  • Site Map
  • |
  • Terms and Conditions
  • |
  • Privacy
  • |
  • Trademarks