Thread: I'm looking for a framework for implementing rendering engines in visual studio

  1. #1
    Registered User
    Join Date
    Sep 2001
    Posts
    46

    I'm looking for a framework for implementing rendering engines in visual studio

    I'm trying to find a A framework for implementing rendering engines and a flexible scene description language something similar to RD_View

    http://graphics.cs.niu.edu/projects/rd_view/index.html

    but that would work in visual studio. I can't stand programming in cygwin and don't want to install linux.

  2. #2
    I am the worst best coder Quantrizi's Avatar
    Join Date
    Mar 2002
    Posts
    644
    Wouldn't this belong in the Game Programming area?

    BOT: I don't know of any...

  3. #3
    Handy Andy andyhunter's Avatar
    Join Date
    Dec 2004
    Posts
    540
    Well OpenGL and DirectX are two very good approaches to creating graphics for windows apps. It sounds like you are looking for a wrapper class for either of those. Try doing a search on this board for DirectX Engine. I believe Bubba has developed one.

    Happy coding.

  4. #4
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    ....Bubba is developing one.

    The DirectX SDK comes with a sample framework ready to use.

  5. #5
    Registered User
    Join Date
    Aug 2003
    Posts
    1,218
    For OpenGL I would recommend nehe's tutorials.

  6. #6
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    For OpenGL I would recommend nehe's tutorials.
    Forget OpenGL. Come over to the dark side of DirectX. You know you wanna.


  7. #7
    Registered User
    Join Date
    Aug 2003
    Posts
    1,218
    LOL! *Must resist the dark side*

  8. #8
    Handy Andy andyhunter's Avatar
    Join Date
    Dec 2004
    Posts
    540
    Bubba, I meant that DirectX class you posted awhile back, but you are right. DX9 has that whole managed code thing going with it.

  9. #9
    Registered User
    Join Date
    Sep 2001
    Posts
    46
    I'm looking for a framework for a rendering engine to learn how to use the algorithms and graphics pipelines... I don't want to just call pre-written funtions I want to write the funtions myself.

  10. #10
    Handy Andy andyhunter's Avatar
    Join Date
    Dec 2004
    Posts
    540
    DirectX.

  11. #11
    Registered User
    Join Date
    Sep 2001
    Posts
    46
    DX9 has that whole managed code thing going with it? What are you talking about?

  12. #12
    Handy Andy andyhunter's Avatar
    Join Date
    Dec 2004
    Posts
    540
    Have you read through the articles discussing about how you don't even need to setup your window the traditional way? You can turn the whole process over to the framework.

    The framework is designed to help the programmer spend less time worrying about how to create a window, how to create a device, or when to handle device events. Here is an example main function of an application using the framework:

    INT WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, INT )
    {
    // Set the callback functions. These functions allow the sample framework
    // to notify the application about device changes, user input, and window
    // messages. The callback functions are optional, so you need only set
    // them for events you are interested in.
    DXUTSetCallbackDeviceCreated( OnCreateDevice );
    DXUTSetCallbackDeviceReset( OnResetDevice );
    DXUTSetCallbackDeviceLost( OnLostDevice );
    DXUTSetCallbackDeviceDestroyed( OnDestroyDevice );

    DXUTSetCallbackFrameRender( OnFrameRender );
    DXUTSetCallbackFrameMove( OnFrameMove );

    // Initialize the sample framework and create the desired Win32 window and
    // Direct3D device for the application. Calling each of these functions is
    // optional, but they allow you to set several options which control the
    // behavior of the framework.
    DXUTInit( TRUE, TRUE, TRUE );
    DXUTCreateWindow( L"BasicHLSL" );
    DXUTCreateDevice( D3DADAPTER_DEFAULT, TRUE, 640, 480 );

    // Pass control to the sample framework for handling the message pump and
    // dispatching render calls. The framework will call your OnFrameMove and
    // OnFrameRender callback functions when there is idle time between
    // handling window messages.
    DXUTMainLoop();

    return DXUTGetExitCode();
    }

    In the example code above, the framework does most of the work. It creates a window, creates a device, handles the main loop, and uses the application-supplied callback functions when events occur, such as device reset or frame render. The framework is modular, and the application can use all of the framework features or just the parts desired.

    The remainder of this programming guide covers each of these steps in detail and looks at the choices the application has available to control or replace each step.

    Further details on syntax and usage of functions, callback functions, structures, enumerations, and constants can be found in Sample Framework Reference.

    Features
    The framework provides the following services to help you create an application:

    Simplified window and device creation.
    Notification of device events (created, reset, lost, destroyed) and window events (messages, keyboard, mouse).
    Toggling between windowed and full-screen modes, and between hardware abstraction layer (HAL) and reference devices.
    High-resolution timer.
    Command-line support for automated testing.
    Device selection via dialog or application programming interface (API).
    Suite of textured graphical user interface (GUI) controls, including an Input Method Editor (IME)-enabled edit box.
    Extra miscellaneous classes, such as simple camera types.

    Limitations
    For ease of use, the framework supports only a single window attached to a single device. Advanced applications that need to use multiple devices simultaneously or that need to display multiple Direct3D windows are not supported by the framework. However, most typical applications should be able to use the framework.

    Starting a New Project
    The easiest way to start a new Microsoft Visual Studio .NET development project using the sample framework is to do the following:

    Launch the sample browser, located in the Microsoft DirectX software development kit (SDK) in the following location:
    (SDK root)\Samples\SampleBrowser\

    In the browser, select an existing Direct3D sample project that will be a starting point.
    Click on the "Install Project" link next to that project to copy the Visual Studio .NET project files to a new directory location.
    You can also optionally rename the project, in which case the sample browser will change the appropriate files and source code to give the project the new name.
    .......
    Its all in the sdk. Frankly I am not a big fan but then again I don't like MFC either.

  13. #13
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    I'm not a big fan of the framework either because it is overly complex. Perhaps thats a good thing since MS is assuming that more people are going to use it than say, a game engine or API. But it is very complex and some of the code and identifiers are ..well....MS in nature if you get my drift.

    As for my other framework I still have it, but it is not complete by any means. I will post it only if all tech support questions are either directed to this thread, via board PM, MSN, teamspeak, etc. I will not be responsible for an entire new slew of questions pertaining to my framework flooding the C boards.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. more then 100errors in header
    By hallo007 in forum Windows Programming
    Replies: 20
    Last Post: 05-13-2007, 08:26 AM
  2. We Got _DEBUG Errors
    By Tonto in forum Windows Programming
    Replies: 5
    Last Post: 12-22-2006, 05:45 PM
  3. C++ std routines
    By siavoshkc in forum C++ Programming
    Replies: 33
    Last Post: 07-28-2006, 12:13 AM
  4. load gif into program
    By willc0de4food in forum Windows Programming
    Replies: 14
    Last Post: 01-11-2006, 10:43 AM
  5. Learning OpenGL
    By HQSneaker in forum C++ Programming
    Replies: 7
    Last Post: 08-06-2004, 08:57 AM