Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Building a 3D engine [modified]

Building a 3D engine [modified]

Scheduled Pinned Locked Moved The Lounge
csharparchitecturehtmlwpfcom
35 Posts 19 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    Dario Solera
    wrote on last edited by
    #1

    URGENT! Please send me teh codez of a full 3D engine in C#! Just joking. :-D Seriously, we currently use a 3rd-party commercial 3D modeling software. We need to do just a few things: - display/zoom/pan/rotate a solid (or a few solids) - interactively draw and cut slices out of it - draw free-hand curves on the surface - display textures - do basic boolean operations - toggle axes references This product is cool and its plugin architecture is impressive. The point is that we're using it in a way that is quite different from its main purpose, which makes it a nightmare to debug. The result is almost unusable so far, which frequent crashes. What I'm asking here is an opinion, from who is more experienced than me, on how difficult would be to build a custom high-level 3D engine for our purposes. What would be the best technology (OpenGL, Direct3D, WPF 3D)? Is there any decent high-level library on the market? Thank you for any insight.

    If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

    modified on Monday, September 22, 2008 9:37 AM

    J D M R C 14 Replies Last reply
    0
    • D Dario Solera

      URGENT! Please send me teh codez of a full 3D engine in C#! Just joking. :-D Seriously, we currently use a 3rd-party commercial 3D modeling software. We need to do just a few things: - display/zoom/pan/rotate a solid (or a few solids) - interactively draw and cut slices out of it - draw free-hand curves on the surface - display textures - do basic boolean operations - toggle axes references This product is cool and its plugin architecture is impressive. The point is that we're using it in a way that is quite different from its main purpose, which makes it a nightmare to debug. The result is almost unusable so far, which frequent crashes. What I'm asking here is an opinion, from who is more experienced than me, on how difficult would be to build a custom high-level 3D engine for our purposes. What would be the best technology (OpenGL, Direct3D, WPF 3D)? Is there any decent high-level library on the market? Thank you for any insight.

      If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

      modified on Monday, September 22, 2008 9:37 AM

      J Offline
      J Offline
      Jim Crafton
      wrote on last edited by
      #2

      Dario Solera wrote:

      on how difficult would be to build a custom 3D rendering engine for our purposes.

      Building a custom one would probably be overkill. There are a number of good free engines, and probably a number of good commercial ones as well. Ogre is supposed to be good. http://oss.sgi.com/projects/inventor/[^] might be worth a look. I'd be willing to bet that WPF 3D is too much, unless you want to make your whole app WPF based?

      ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog

      D 1 Reply Last reply
      0
      • D Dario Solera

        URGENT! Please send me teh codez of a full 3D engine in C#! Just joking. :-D Seriously, we currently use a 3rd-party commercial 3D modeling software. We need to do just a few things: - display/zoom/pan/rotate a solid (or a few solids) - interactively draw and cut slices out of it - draw free-hand curves on the surface - display textures - do basic boolean operations - toggle axes references This product is cool and its plugin architecture is impressive. The point is that we're using it in a way that is quite different from its main purpose, which makes it a nightmare to debug. The result is almost unusable so far, which frequent crashes. What I'm asking here is an opinion, from who is more experienced than me, on how difficult would be to build a custom high-level 3D engine for our purposes. What would be the best technology (OpenGL, Direct3D, WPF 3D)? Is there any decent high-level library on the market? Thank you for any insight.

        If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

        modified on Monday, September 22, 2008 9:37 AM

        M Offline
        M Offline
        Marc Clifton
        wrote on last edited by
        #3

        You could look at XNA. :) I wouldn't build your own--I'd definitely start with a something higher level. There's a few out there on source forge, but alas, I haven't kept track of them. Marc

        Thyme In The Country Interacx My Blog

        B 1 Reply Last reply
        0
        • D Dario Solera

          URGENT! Please send me teh codez of a full 3D engine in C#! Just joking. :-D Seriously, we currently use a 3rd-party commercial 3D modeling software. We need to do just a few things: - display/zoom/pan/rotate a solid (or a few solids) - interactively draw and cut slices out of it - draw free-hand curves on the surface - display textures - do basic boolean operations - toggle axes references This product is cool and its plugin architecture is impressive. The point is that we're using it in a way that is quite different from its main purpose, which makes it a nightmare to debug. The result is almost unusable so far, which frequent crashes. What I'm asking here is an opinion, from who is more experienced than me, on how difficult would be to build a custom high-level 3D engine for our purposes. What would be the best technology (OpenGL, Direct3D, WPF 3D)? Is there any decent high-level library on the market? Thank you for any insight.

          If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

          modified on Monday, September 22, 2008 9:37 AM

          D Offline
          D Offline
          Douglas Troy
          wrote on last edited by
          #4

          I know nothing about building a 3D engine from scratch, however, I've seen enough developers rave about Crystal Space 3D[^] to know that you should look at it, if you've not already. [edit] For what you're talking about doing, just using DirectX would probably suffice. Might consider reading some here: Microsoft Developer Center for DirectX[^]


          :..::. Douglas H. Troy ::..
          Bad Astronomy |VCF|wxWidgets|WTL

          modified on Monday, September 22, 2008 9:40 AM

          1 Reply Last reply
          0
          • D Dario Solera

            URGENT! Please send me teh codez of a full 3D engine in C#! Just joking. :-D Seriously, we currently use a 3rd-party commercial 3D modeling software. We need to do just a few things: - display/zoom/pan/rotate a solid (or a few solids) - interactively draw and cut slices out of it - draw free-hand curves on the surface - display textures - do basic boolean operations - toggle axes references This product is cool and its plugin architecture is impressive. The point is that we're using it in a way that is quite different from its main purpose, which makes it a nightmare to debug. The result is almost unusable so far, which frequent crashes. What I'm asking here is an opinion, from who is more experienced than me, on how difficult would be to build a custom high-level 3D engine for our purposes. What would be the best technology (OpenGL, Direct3D, WPF 3D)? Is there any decent high-level library on the market? Thank you for any insight.

            If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

            modified on Monday, September 22, 2008 9:37 AM

            R Offline
            R Offline
            Rage
            wrote on last edited by
            #5

            Already had a look at the article on CodeProject ? There is some stuff in the articles already. By the time I still did 3D development, I was using C++ and OpenGL. Then moved to Direct3D. And go back to OpenGL. Honestly, for what you are aiming at, I guess both could do the trick. I however don't know the C# API and neither whether WPF 3D is good or not. Last but not least:

            Dario Solera wrote:

            a custom 3D rendering engine

            Do not underestimate the time you will put in this. Better try and find something already ready.

            D 1 Reply Last reply
            0
            • J Jim Crafton

              Dario Solera wrote:

              on how difficult would be to build a custom 3D rendering engine for our purposes.

              Building a custom one would probably be overkill. There are a number of good free engines, and probably a number of good commercial ones as well. Ogre is supposed to be good. http://oss.sgi.com/projects/inventor/[^] might be worth a look. I'd be willing to bet that WPF 3D is too much, unless you want to make your whole app WPF based?

              ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog

              D Offline
              D Offline
              Dario Solera
              wrote on last edited by
              #6

              Ogre seems promising and they even have a commercial license, thanks for pointing it out. Inventor is Linux-only, so it's not an option.

              If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

              1 Reply Last reply
              0
              • R Rage

                Already had a look at the article on CodeProject ? There is some stuff in the articles already. By the time I still did 3D development, I was using C++ and OpenGL. Then moved to Direct3D. And go back to OpenGL. Honestly, for what you are aiming at, I guess both could do the trick. I however don't know the C# API and neither whether WPF 3D is good or not. Last but not least:

                Dario Solera wrote:

                a custom 3D rendering engine

                Do not underestimate the time you will put in this. Better try and find something already ready.

                D Offline
                D Offline
                Dario Solera
                wrote on last edited by
                #7

                I looked at OpenGL a while ago, and it didn't look too complex.

                Rage wrote:

                Do not underestimate the time you will put in this. Better try and find something already ready.

                I did not mean a rendering engine, but a "high-level" 3D library (I updated my post). :-O

                If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

                1 Reply Last reply
                0
                • D Dario Solera

                  URGENT! Please send me teh codez of a full 3D engine in C#! Just joking. :-D Seriously, we currently use a 3rd-party commercial 3D modeling software. We need to do just a few things: - display/zoom/pan/rotate a solid (or a few solids) - interactively draw and cut slices out of it - draw free-hand curves on the surface - display textures - do basic boolean operations - toggle axes references This product is cool and its plugin architecture is impressive. The point is that we're using it in a way that is quite different from its main purpose, which makes it a nightmare to debug. The result is almost unusable so far, which frequent crashes. What I'm asking here is an opinion, from who is more experienced than me, on how difficult would be to build a custom high-level 3D engine for our purposes. What would be the best technology (OpenGL, Direct3D, WPF 3D)? Is there any decent high-level library on the market? Thank you for any insight.

                  If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

                  modified on Monday, September 22, 2008 9:37 AM

                  C Offline
                  C Offline
                  Cedric Moonen
                  wrote on last edited by
                  #8

                  There is also Open Scene Graph[^]. Never used it myself but it looks pretty cool.

                  Cédric Moonen Software developer
                  Charting control [v1.5] OpenGL game tutorial in C++

                  1 Reply Last reply
                  0
                  • M Marc Clifton

                    You could look at XNA. :) I wouldn't build your own--I'd definitely start with a something higher level. There's a few out there on source forge, but alas, I haven't kept track of them. Marc

                    Thyme In The Country Interacx My Blog

                    B Offline
                    B Offline
                    benjymous
                    wrote on last edited by
                    #9

                    I'd agree with Marc - it's incredibly easy to get 3D stuff working in XNA. Whilst it's geared towards games development, there's nothing stopping you doing windows forms stuff in the same app

                    Help me! I'm turning into a grapefruit! Buzzwords!

                    D 1 Reply Last reply
                    0
                    • D Dario Solera

                      URGENT! Please send me teh codez of a full 3D engine in C#! Just joking. :-D Seriously, we currently use a 3rd-party commercial 3D modeling software. We need to do just a few things: - display/zoom/pan/rotate a solid (or a few solids) - interactively draw and cut slices out of it - draw free-hand curves on the surface - display textures - do basic boolean operations - toggle axes references This product is cool and its plugin architecture is impressive. The point is that we're using it in a way that is quite different from its main purpose, which makes it a nightmare to debug. The result is almost unusable so far, which frequent crashes. What I'm asking here is an opinion, from who is more experienced than me, on how difficult would be to build a custom high-level 3D engine for our purposes. What would be the best technology (OpenGL, Direct3D, WPF 3D)? Is there any decent high-level library on the market? Thank you for any insight.

                      If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

                      modified on Monday, September 22, 2008 9:37 AM

                      H Offline
                      H Offline
                      Harvey Saayman
                      wrote on last edited by
                      #10

                      Have a look at Irrlicht[^] Open Source, Written in C++ and has wrappers for .Net I also wouldn't build one from scratch...

                      Harvey Saayman - South Africa Junior Developer .Net, C#, SQL you.suck = (you.Passion != Programming & you.Occupation == jobTitles.Programmer) 1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111

                      D S 2 Replies Last reply
                      0
                      • D Dario Solera

                        URGENT! Please send me teh codez of a full 3D engine in C#! Just joking. :-D Seriously, we currently use a 3rd-party commercial 3D modeling software. We need to do just a few things: - display/zoom/pan/rotate a solid (or a few solids) - interactively draw and cut slices out of it - draw free-hand curves on the surface - display textures - do basic boolean operations - toggle axes references This product is cool and its plugin architecture is impressive. The point is that we're using it in a way that is quite different from its main purpose, which makes it a nightmare to debug. The result is almost unusable so far, which frequent crashes. What I'm asking here is an opinion, from who is more experienced than me, on how difficult would be to build a custom high-level 3D engine for our purposes. What would be the best technology (OpenGL, Direct3D, WPF 3D)? Is there any decent high-level library on the market? Thank you for any insight.

                        If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

                        modified on Monday, September 22, 2008 9:37 AM

                        C Offline
                        C Offline
                        Chris Austin
                        wrote on last edited by
                        #11

                        I'd really reccomend against developing your own engine from the ground up. We do pipeline and engine development for some clients and it can be terribly time consuming. What I would do in your place is find a basic engine like Ogre that meets my basic needs (ie. it supports my model format or has converters) and script it around my requirements.

                        Sovereign ingredient for a happy marriage: Pay cash or do without. Interest charges not only eat up a household budget; awareness of debt eats up domestic felicity. --Lazarus Long

                        1 Reply Last reply
                        0
                        • D Dario Solera

                          URGENT! Please send me teh codez of a full 3D engine in C#! Just joking. :-D Seriously, we currently use a 3rd-party commercial 3D modeling software. We need to do just a few things: - display/zoom/pan/rotate a solid (or a few solids) - interactively draw and cut slices out of it - draw free-hand curves on the surface - display textures - do basic boolean operations - toggle axes references This product is cool and its plugin architecture is impressive. The point is that we're using it in a way that is quite different from its main purpose, which makes it a nightmare to debug. The result is almost unusable so far, which frequent crashes. What I'm asking here is an opinion, from who is more experienced than me, on how difficult would be to build a custom high-level 3D engine for our purposes. What would be the best technology (OpenGL, Direct3D, WPF 3D)? Is there any decent high-level library on the market? Thank you for any insight.

                          If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

                          modified on Monday, September 22, 2008 9:37 AM

                          E Offline
                          E Offline
                          El Corazon
                          wrote on last edited by
                          #12

                          Dario Solera wrote:

                          What I'm asking here is an opinion, from who is more experienced than me, on how difficult would be to build a custom high-level 3D engine for our purposes.

                          As others have mentioned, you should strongly debate this topic before attempting to write your own 3D engine. Consider carefully the pros and cons and your reasons for choosing either direction. What I consider valid reasons may differ from yours, so give your strongest reasons and consider their weight yourself -- carefully. Pros of writing your own engine: - Learning how it is done, understanding the core concepts of 3D processing - Any unique drawing needs can be handled in the core rather than forced into another product. - You don't inherit someone else's bugs Cons of writing your own engine: - You loose time writing the engine over just writing the product - You are reinventing a wheel that has been invented more times that I can count before coffee in the morning - Instead of inheriting bugs, you get all your own and the maintenance headache.

                          Dario Solera wrote:

                          What would be the best technology (OpenGL, Direct3D, WPF 3D)? Is there any decent high-level library on the market?

                          All are valid choices. Again each should be weighed on not just the advantages of each, but also their purpose. Remember that each product tends to follow their purposes in future growth, until the purpose changes over time -- call it software development inertia. OpenGL is designed to run multi-platform, if your intent is to run multi-platform, you should give it serious consideration. If you never wish to look at Linux or other platforms then OpenGL looses "some" of its advantages. If you are not going to write your own engine, and find one you like, that gives weight to one or another 3D method. We use OpenSceneGraph. Our 3D product then builds upon the 3D capability of an existing system. Where our needs are specialized, we adapt additions to the 3D capability through shaders and/or specialized 3D functions in OpenGL. Our capability then become OpenSceneGraph plus more.

                          _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."

                          D G 2 Replies Last reply
                          0
                          • B benjymous

                            I'd agree with Marc - it's incredibly easy to get 3D stuff working in XNA. Whilst it's geared towards games development, there's nothing stopping you doing windows forms stuff in the same app

                            Help me! I'm turning into a grapefruit! Buzzwords!

                            D Offline
                            D Offline
                            Dario Solera
                            wrote on last edited by
                            #13

                            What stuff does it support? For example, can you do boolean operation on surfaces and curves?

                            If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

                            M E 2 Replies Last reply
                            0
                            • D Dario Solera

                              URGENT! Please send me teh codez of a full 3D engine in C#! Just joking. :-D Seriously, we currently use a 3rd-party commercial 3D modeling software. We need to do just a few things: - display/zoom/pan/rotate a solid (or a few solids) - interactively draw and cut slices out of it - draw free-hand curves on the surface - display textures - do basic boolean operations - toggle axes references This product is cool and its plugin architecture is impressive. The point is that we're using it in a way that is quite different from its main purpose, which makes it a nightmare to debug. The result is almost unusable so far, which frequent crashes. What I'm asking here is an opinion, from who is more experienced than me, on how difficult would be to build a custom high-level 3D engine for our purposes. What would be the best technology (OpenGL, Direct3D, WPF 3D)? Is there any decent high-level library on the market? Thank you for any insight.

                              If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

                              modified on Monday, September 22, 2008 9:37 AM

                              B Offline
                              B Offline
                              blackjack2150
                              wrote on last edited by
                              #14

                              Tao Framework is a free wrapper of OpenGL for .NET.

                              S 1 Reply Last reply
                              0
                              • D Dario Solera

                                URGENT! Please send me teh codez of a full 3D engine in C#! Just joking. :-D Seriously, we currently use a 3rd-party commercial 3D modeling software. We need to do just a few things: - display/zoom/pan/rotate a solid (or a few solids) - interactively draw and cut slices out of it - draw free-hand curves on the surface - display textures - do basic boolean operations - toggle axes references This product is cool and its plugin architecture is impressive. The point is that we're using it in a way that is quite different from its main purpose, which makes it a nightmare to debug. The result is almost unusable so far, which frequent crashes. What I'm asking here is an opinion, from who is more experienced than me, on how difficult would be to build a custom high-level 3D engine for our purposes. What would be the best technology (OpenGL, Direct3D, WPF 3D)? Is there any decent high-level library on the market? Thank you for any insight.

                                If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

                                modified on Monday, September 22, 2008 9:37 AM

                                A Offline
                                A Offline
                                ARon_
                                wrote on last edited by
                                #15

                                I started using Tao, a C# OpenGL Wrapper, with very good results. Try it out, it come with a ton of examples and it is free. You can draw 3D primitives with GLUT and render meshes with textures. Again, it is very easy to use in my option. C++ example ealy translate to C# due to the design of the interface. As far as you requirement list: -display/zoom/pan/rotate – You have to write an camera algorithm - interactively draw and cut slices out of it – Tao and all the other Drawing Interfaces strictly for drawing. Slicing solids would be up to you. - draw free-hand curves on the surface – Tao/OpenGL can draw lines with Line Types you would have to project them on to a surface (just math) - display textures(yes) - do basic boolean operations (if you mean union, intersecting or subtracting solid then no) - toggle axes references (You have absolute control over the coordinate systems i.e. ModelMatix and ViewMatrix) http://www.taoframework.com/project/opengl[^] Good Luck, :)

                                ARon

                                D 1 Reply Last reply
                                0
                                • A ARon_

                                  I started using Tao, a C# OpenGL Wrapper, with very good results. Try it out, it come with a ton of examples and it is free. You can draw 3D primitives with GLUT and render meshes with textures. Again, it is very easy to use in my option. C++ example ealy translate to C# due to the design of the interface. As far as you requirement list: -display/zoom/pan/rotate – You have to write an camera algorithm - interactively draw and cut slices out of it – Tao and all the other Drawing Interfaces strictly for drawing. Slicing solids would be up to you. - draw free-hand curves on the surface – Tao/OpenGL can draw lines with Line Types you would have to project them on to a surface (just math) - display textures(yes) - do basic boolean operations (if you mean union, intersecting or subtracting solid then no) - toggle axes references (You have absolute control over the coordinate systems i.e. ModelMatix and ViewMatrix) http://www.taoframework.com/project/opengl[^] Good Luck, :)

                                  ARon

                                  D Offline
                                  D Offline
                                  Dario Solera
                                  wrote on last edited by
                                  #16

                                  Thank you, the information you provided is really valuable. It seems I have to use a higher level library.

                                  If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

                                  1 Reply Last reply
                                  0
                                  • E El Corazon

                                    Dario Solera wrote:

                                    What I'm asking here is an opinion, from who is more experienced than me, on how difficult would be to build a custom high-level 3D engine for our purposes.

                                    As others have mentioned, you should strongly debate this topic before attempting to write your own 3D engine. Consider carefully the pros and cons and your reasons for choosing either direction. What I consider valid reasons may differ from yours, so give your strongest reasons and consider their weight yourself -- carefully. Pros of writing your own engine: - Learning how it is done, understanding the core concepts of 3D processing - Any unique drawing needs can be handled in the core rather than forced into another product. - You don't inherit someone else's bugs Cons of writing your own engine: - You loose time writing the engine over just writing the product - You are reinventing a wheel that has been invented more times that I can count before coffee in the morning - Instead of inheriting bugs, you get all your own and the maintenance headache.

                                    Dario Solera wrote:

                                    What would be the best technology (OpenGL, Direct3D, WPF 3D)? Is there any decent high-level library on the market?

                                    All are valid choices. Again each should be weighed on not just the advantages of each, but also their purpose. Remember that each product tends to follow their purposes in future growth, until the purpose changes over time -- call it software development inertia. OpenGL is designed to run multi-platform, if your intent is to run multi-platform, you should give it serious consideration. If you never wish to look at Linux or other platforms then OpenGL looses "some" of its advantages. If you are not going to write your own engine, and find one you like, that gives weight to one or another 3D method. We use OpenSceneGraph. Our 3D product then builds upon the 3D capability of an existing system. Where our needs are specialized, we adapt additions to the 3D capability through shaders and/or specialized 3D functions in OpenGL. Our capability then become OpenSceneGraph plus more.

                                    _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."

                                    D Offline
                                    D Offline
                                    Dario Solera
                                    wrote on last edited by
                                    #17

                                    Good insight, thank you. My problem is that, currently, I have to workaround the limitations and idiosyncrasies of the product we use in order to both achieve the functionalities we need and completely hide all the rest (which is a whole lot - take a look at it Rhino3D[^]). I will have to definitely look into one of the available high-level libraries.

                                    If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

                                    E 1 Reply Last reply
                                    0
                                    • H Harvey Saayman

                                      Have a look at Irrlicht[^] Open Source, Written in C++ and has wrappers for .Net I also wouldn't build one from scratch...

                                      Harvey Saayman - South Africa Junior Developer .Net, C#, SQL you.suck = (you.Passion != Programming & you.Occupation == jobTitles.Programmer) 1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111

                                      D Offline
                                      D Offline
                                      Dario Solera
                                      wrote on last edited by
                                      #18

                                      Harvey Saayman wrote:

                                      Have a look at Irrlicht[^]

                                      It seems promising, and has a license that is compatible with our needs. I'm looking through the docs right now.

                                      If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

                                      H C 2 Replies Last reply
                                      0
                                      • D Dario Solera

                                        Harvey Saayman wrote:

                                        Have a look at Irrlicht[^]

                                        It seems promising, and has a license that is compatible with our needs. I'm looking through the docs right now.

                                        If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

                                        H Offline
                                        H Offline
                                        Harvey Saayman
                                        wrote on last edited by
                                        #19

                                        Cool i havnt really had the time to play around with it, but i was very impressed with the demos

                                        Harvey Saayman - South Africa Junior Developer .Net, C#, SQL you.suck = (you.Passion != Programming & you.Occupation == jobTitles.Programmer) 1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111

                                        1 Reply Last reply
                                        0
                                        • D Dario Solera

                                          Harvey Saayman wrote:

                                          Have a look at Irrlicht[^]

                                          It seems promising, and has a license that is compatible with our needs. I'm looking through the docs right now.

                                          If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

                                          C Offline
                                          C Offline
                                          Cedric Moonen
                                          wrote on last edited by
                                          #20

                                          I used it for a while. It's not bad: it is quite lite, and for 'basic' things it is quite nice. But it is a bit targeted for games development.

                                          Cédric Moonen Software developer
                                          Charting control [v1.5] OpenGL game tutorial in C++

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups