Announcement

Collapse
No announcement yet.

GDImage 3D primitives

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • GDImage 3D primitives

    You can dowload the Image3D demo project here

    The main purpose of this new GDImage feature is not to perform 3D animation, but to map easily a 2D picture onto a 3D surface and produce state of the art perspectives.

    The complete source code of the project will be provided with the next GDImage release. If you want to have it faster then drop me a mail.

    Screen shot:




    ...
    Patrice Terrier
    www.zapsolution.com
    www.objreader.com
    Addons: GDImage.DLL 32/64-bit (Graphic library), WinLIFT.DLL 32/64-bit (Skin Engine).

  • #2
    Patrice, you're stuff is AWESOME !!!!!

    Paul Squires
    FireFly Visual Designer (for PowerBASIC Windows 10+)
    Version 3 now available.
    http://www.planetsquires.com

    Comment


    • #3
      Doesn't work on my machine. I don't see the 3D objects at all. The skinned window displays and so does the background, but no 3D objects.

      My PC is a EMachine, 2.5 ghz CPU, 768 meg Ram, with a NVIDIA GeForce MX 4000 video card, running Windows XP Home (service pack 2).
      Chris Boss
      Computer Workshop
      Developer of "EZGUI"
      http://cwsof.com
      http://twitter.com/EZGUIProGuy

      Comment


      • #4
        Chris,

        Doesn't work on my machine.
        No surprise there!

        You would have the same result trying to run the new PhotoShop CS4 3D or Flight Simulator on this type of computer.

        GDImage is definitly toward to new technologies


        Paul,

        Thank you, i am always trying from my best to produce nice demo to show what could be done with pure SDK


        ...
        Last edited by Patrice Terrier; 6 Mar 2009, 03:16 AM.
        Patrice Terrier
        www.zapsolution.com
        www.objreader.com
        Addons: GDImage.DLL 32/64-bit (Graphic library), WinLIFT.DLL 32/64-bit (Skin Engine).

        Comment


        • #5
          Patrice--

          Wouldn't it be a good idea to specifically define the hardware and system requirements of your software? Calling it "...this type of computer" doesn't seem to give the folks much help.

          Bob Zale
          PowerBASIC Inc.

          Comment


          • #6
            Bob,

            I am sorry to have made a wrong assessment.

            Yes, while GDImage 2D doesn't requires a specific hardware, i should have wrote that using the 3D API would require a graphic card that is OpenGL compatible.

            Usualy this is not a problem with the latest computer generation that are able to run VISTA AERO.

            ...
            Patrice Terrier
            www.zapsolution.com
            www.objreader.com
            Addons: GDImage.DLL 32/64-bit (Graphic library), WinLIFT.DLL 32/64-bit (Skin Engine).

            Comment


            • #7
              Chris,

              did you tried to update drivers from NVIDIA website?
              Your card is GeForce 4 generation.
              http://www.nvidia.com/object/winxp_2k_93.71_2.html

              GeForce4 MX are not popular among developers as they do not have shaders, but I am still sure you should be able to run Patrices sample.


              Petr
              [email protected]

              Comment


              • #8
                This is one of the reasons I don't like "leading edge technologies".

                My computer is running XP Home (service pack 2) which is reasonable current operating system.

                It has 2 5. ghz CPU which is plenty fast enough.

                It has 768 meg Ram, which is decent for XP.

                The original onboard video card was starting to have problems, so I bought a decent video card (3D) from Walmart. The NVIDIA card is not some old card (true not the latest either).

                When software does not run on what I would consider an average consumers computer then it really hurts the consumers.

                I think Bob is right. You need to start posting the minimum requirements for the hardware, including video adapters for your software Patrice if you plan to continue to target leading edge hardware.

                Many consurmers don't want to hear that they need to update drivers or get a new video card.
                Chris Boss
                Computer Workshop
                Developer of "EZGUI"
                http://cwsof.com
                http://twitter.com/EZGUIProGuy

                Comment


                • #9
                  I also beg to differ about OpenGL support.

                  My video card is relatively recent (within a few years) and it does support OpenGL.

                  The problem you have with such specifications is that there are different versions of OpenGL (specifications).

                  This same thing occurs with DirectX.

                  Most software would put on the box under specifications what version of DirectX is required. The same is needed for OpenGL support.

                  Again, you need to be much more specific of what version (specification) of OpenGL your software requires and not simply say you need to support OpenGL. My computer does support OpenGL, just likely not the leading edge specification which likely are using.

                  I might sound strong on this, but all programmers who develop software for the average end user (like mom, dad and the kids) have to seriously consider the ramifications of using leading technologies. Its one thing if the software is being sold to professionals (in any trade) who are used to having to always upgrade their PC's just to run the latest software they require, but its another thing to expect the average person to get new hardware, download drivers (which many may not be confortable with).

                  I love your work Patrice, I really do. There are few if any at the level you are at for developing leading edge software, but it may do you some good to seriously consider who your target market is. If it is the high end users, then be more specific of the hardware/software requirements of your software. If you plan to target the average user with some of your end user software, then be aware that many people don't like to be told that "its your computer which is the problem". Not everybody can afford to buy a new computer every year, just to get the latest technology.

                  I'll just have to start only running your demos on my Vista machine (which I don't use much currently).
                  Chris Boss
                  Computer Workshop
                  Developer of "EZGUI"
                  http://cwsof.com
                  http://twitter.com/EZGUIProGuy

                  Comment


                  • #10
                    OpenGL is not what i would call "a leading edge technologie", it has been there for long.

                    However it occures that some graphic card are more capable than others, and also that the drivers must be checked to make sure that they are the latest (meaning that some bugs have been fixed).

                    One of the major issue when using 3D graphics is to use shared memory instead of dedicated video RAM.

                    I can't myself check for all the graphic cards being around, what i can do is to offer a set of API that follow the official OpenGL specifications, if they are not endorsed by a specific hardware then i am not responsible for that.

                    Usualy people doing graphic applications are aware of this, and they know that 3D is the more demanding from the hardware.

                    Because GDImage is targeted to "intensive" graphic application, it uses the best of the technolgie currently available, thus there is no reason to limit the scope of what it can do, under the reason that some API are not supported by cheapest hardware.

                    ...
                    Patrice Terrier
                    www.zapsolution.com
                    www.objreader.com
                    Addons: GDImage.DLL 32/64-bit (Graphic library), WinLIFT.DLL 32/64-bit (Skin Engine).

                    Comment


                    • #11
                      Which OpenGL specification are you using ?

                      1.x
                      2.1
                      3.0

                      Which Shader specification ?

                      1.10
                      1.20
                      1.30
                      Chris Boss
                      Computer Workshop
                      Developer of "EZGUI"
                      http://cwsof.com
                      http://twitter.com/EZGUIProGuy

                      Comment


                      • #12
                        Just an humble try at putting things in perspective.

                        The GeForce MX 4000 (NV17 GPU) is just a simple derivative of the original GeForce 2 architecture (NV15 GPU), with hardware T&L, but no with no pixel / vertex shaders.
                        Note that, in the tradition of confusing names, a GeForce 3 (NV20 GPU) card is far more powerful/complex.
                        MX 4000 have been introduced around 2002 as a "value"/cost effective/cheap serie (basically NV15 got superceeded by NV20 and on, and so became the new "baseline"); the GF2 from witch it directly derive, was all the rage back in 2000.

                        9 years in the GPU sector is a quantity better expressed with the word eternity!

                        Bye!
                        -- The universe tends toward maximum irony. Don't push it.

                        File Extension Seeker - Metasearch engine for file extensions / file types
                        Online TrID file identifier | TrIDLib - Identify thousands of file formats

                        Comment


                        • #13
                          Originally posted by Marco Pontello View Post
                          9 years in the GPU sector is a quantity better expressed with the word eternity!
                          Paul Squires
                          FireFly Visual Designer (for PowerBASIC Windows 10+)
                          Version 3 now available.
                          http://www.planetsquires.com

                          Comment


                          • #14
                            Let me say that I don't consider a $60 video card as "cheap". It isn't top of the line of course, but neither is it cheap.

                            Most mass market PC's today come with onboard video, so a $60 video card is a high priced component, compared to that.

                            Now if one is into gaming, one may buy a $100 to $200 (or more) high end video card.

                            One of the biggest complaints about Vista, was that it wouldn't work on many PC's (if one upgraded) which had decent hardware, since Vista has too high hardware requirements. PC users often had to upgrade their memory, their video card and possibly something else, just to be able to upgrade to Vista.

                            XP was quite different.

                            I have a PC which came with Windows ME (It has 256 meg ram installed, even though it came with 64 meg and I added more when I bought it). It was only 667 mhz CPU. Years later I upgraded it to Windows XP and it upgraded with no problem and runs fine.

                            Now Vista was different. Its requirements were way too high for many decent PC's and the cost to upgrade wasn't worth it, so it was better to buy a new PC. That left a "bad taste in the mouth" of many people.

                            My point is, you need to explain in detail the minimum requirements for GDImage and advertise it as a "high end, leading graphic engine" made for "leading edge PC's".

                            For me to have to download a 40 meg driver update for my video card, just to run your demos is a lot to ask, especially when it runs nearly every software package I have ever purchased fine.

                            If you leave it up to the developer who purchases GDImage, to figure out themselves what systems it will run on and and which ones it won't, isn't fair to them. It isn't just a matter of what operating system is required, but you are talking about what hardware and that gets a little bit messy. It also creates a tech support nightmare for developers who use it.

                            I have recommended GDImage to others, but it makes it hard to recommend it if one does not know what hardware it will run on.

                            Please, just provide some more details on the hardware requirements (ie. what versions of OpenGL, DirectX, what brand video adapters if necessary) so PB'ers can better know whether GDImage will fit their needs.

                            GDImage is the premier graphic engine for PB right now, but it would be useless if one does not know its minimum requirements. It has to run not just on the developers system, but on all his/her customers systems.
                            Chris Boss
                            Computer Workshop
                            Developer of "EZGUI"
                            http://cwsof.com
                            http://twitter.com/EZGUIProGuy

                            Comment


                            • #15
                              Originally posted by Chris Boss View Post
                              Let me say that I don't consider a $60 video card as "cheap". It isn't top of the line of course, but neither is it cheap.

                              Most mass market PC's today come with onboard video, so a $60 video card is a high priced component, compared to that.
                              That's your respectable opinion, but don't change the reality of this sector.
                              Progress on the GPUs far exceed Moore's Law: it's estimated that GPU "power" (in the broad sense) double every 6 month.
                              I don't know when you bought that videocard. But even if it was 2 years ago, it was already obsolete at that time, and there was better alternatives for the price. Some GFX card without PS/VS hardware support couldn't be recommended, even as a cheap alternative, by some years.
                              You can thanks/blame the marketing gurus of Nvidia, if you like, for the less than stellar deal.

                              That's of course doesn't mean that it can't be put to (some) good uses.
                              Maybe it can also run Patrice's demo, with up-to-date drivers & OpenGL ICD.
                              But it certainly is, by all means, an obsolete piece of hardware.

                              Bye!
                              Last edited by Marco Pontello; 6 Mar 2009, 05:04 PM.
                              -- The universe tends toward maximum irony. Don't push it.

                              File Extension Seeker - Metasearch engine for file extensions / file types
                              Online TrID file identifier | TrIDLib - Identify thousands of file formats

                              Comment


                              • #16
                                9 years in the GPU sector is a quantity better expressed with the word eternity!
                                While the technology may be older, when I purchased my video card it was in 2006. The average consumer does not know the origins of the hardware they buy and expect it to be as up to date as possible for when they purchase it.

                                One of the problems with computer programmers today, is that they forget that the majority of the end users of the software they design are not engineers or computer experts. They make reasonable assumptions about the computer hardware they buy. For one if they purchase computer hardware which is brand new, a brand name and for good price (meaning not cheap to them), they expect the software they purchase to be able to run on it.

                                A third party developer has to consider not only their customers systems, but every system their customers own customers will likely use. The more leading edge the tool, the smaller the market for the software and it effects developers.

                                I am not criticising GDImages use of leading edge technology. It is a great graphic engine for high end developers. What I am saying is that without detailed specs on what the minimum requirements (both software/hardware and drivers) are, I can't recommend it to others (or even purchase it myself). If I was asked "will it run on my end users systems", it would be a guessing game.

                                Personally I am not one who keeps buying the latest technology just for the sake of being "in the know" or "cool". I designed custom software for years for many varied local businesses and I always remembered the bottom line, which is trying to keep costs reasonable for my customers. I would never make them upgrade if it wasn't absolutely necessary.

                                With todays economy as it is, I would think more people would consider the need to not waste resources. With PC sales down significantly this year, software developers have to consider that people are not crazy about being asked to upgrade anthing on their PC's (or buy new ones).

                                One of the nice things about PowerBasic, is that it runs on Windows 95 to Vista. Developers can target multiple operating systems and don't need extensive hardware (only PB'ers talk about their software fitting on a floppy disk). The third party tools we use, it is important to know what the minimum requirements are so we can make sure they work with our targeted market.
                                Last edited by Chris Boss; 6 Mar 2009, 05:12 PM.
                                Chris Boss
                                Computer Workshop
                                Developer of "EZGUI"
                                http://cwsof.com
                                http://twitter.com/EZGUIProGuy

                                Comment


                                • #17
                                  This is just a general comment to all of us PowerBASIC programmers regarding software (rather than hardware) because I read many Vista post bashings around here:

                                  As a consumer you can probably get away with running WinXP (nothing lower).

                                  As a developer you must be running Windows Vista by this time. When Windows 7 is released you must be running that as well. We should probably even be developing our software on 64 bit machines by now.

                                  Developers must be developing on the latest operating system. To do otherwise then you are only asking for headaches in the long run. Unless you work in a highly targeted and segmented market, then not developing on the latest operating system puts you at a competitive disadvantage.

                                  The market waits for no one. Being nostalgic about OS's of the past may seem like a romantic notion but it is dog-eat-dog in the programming world and one needs to be in the top half of the bell curve.... not languishing 5 years behind the industry.
                                  Paul Squires
                                  FireFly Visual Designer (for PowerBASIC Windows 10+)
                                  Version 3 now available.
                                  http://www.planetsquires.com

                                  Comment


                                  • #18
                                    Originally posted by Chris Boss View Post
                                    While the technology may be older, when I purchased my video card it was in 2006. The average consumer does not know the origins of the hardware they buy and expect it to be as up to date as possible for when they purchase it.
                                    Please take no offense at this - I don't mean it, in any way - but you played exactly the part of that average consumer at that time; that video card was already an obsolete, non recommendable choice. This particular sector is evolving very, very fast. So, most of the persons that don't follow it for some particular reason/interest, may not be aware of all the details & specs of the hardware available.
                                    I bet that you too bought it considering it better than a low-spec GeForce 3, for example, simply because of its higher series number. As I said, the marketing of course play on these details.

                                    By any chance, just out of curiosity, can you tell me the spec of the integrated card of that PC?

                                    Bye!
                                    -- The universe tends toward maximum irony. Don't push it.

                                    File Extension Seeker - Metasearch engine for file extensions / file types
                                    Online TrID file identifier | TrIDLib - Identify thousands of file formats

                                    Comment


                                    • #19
                                      Developers must be developing on the latest operating system
                                      I definitely do not agree!

                                      Developers should be developing on multiple systems.

                                      They should develop on the average computer for the day, that "their customer base will be using". The software then should be tested on lower systems as well as newer systems.

                                      What matters is the market one targets.

                                      A developer must know his/her market. Who will use my software ?
                                      What kind of PC do they have ? What operating system ?

                                      If one knows the range of their customers PC's is going to be large, then our software must be intellegent enough to know the difference. It should sense the hardware/operating system and use code specific to what is available. It should be able to take advantage of the latest hardware, but also find ways to emulate things on lesser systems.

                                      Now if our software can only run on leading edge PC's/operating systems, then we have to market it that way and only target high end users. I am sure someone who runs a high end CAD program, high end video editing program or animation software, expects they may have to upgrade to the latest hardware/operating system. But when a company targets average people (the common man so to speak) whether they be in business or home users, we have to know what the range is for the hardware they use.

                                      Knowing the range of our customer base's PC's is "our responsibility", not the customers. If we target a market where customers can't afford to buy a new PC, every year or every six months, then "we have the responsibility to provide software that will run on their systems".

                                      "Leading Edge users" is another word for those who either have money to waste or those who are professionals who require the absolute most power from their computers because their specific tasks require it (ie. high end graphic animation editors) and not the average person or even business.

                                      Also, Patrice sells a tool which other programmers will use. Those programmers must have a reasonable knowledge of what hardware/software is required for their apps to run. I considered my PC a decent PC (not leading edge, but neither is it obsolete or legacy), but GDImage would do me little good, if I have to guess what systems it will run on or won't. Any tool vendor I purchased from, I would expect them to know exactly what the requirements of their software are. If they simply said, "state of the art" or "leading edge", that would not be enough. I would ask, "what minimum operating system?', "what minimum RAM ?", "what mnimum CPU speed ?", "what version of DirectX, OpenGL ?" and if there is any known problems with any specific brands of hardware if that could cause a problem.

                                      Marco,

                                      The onboard video is: "Intel Extreme Graphics 3D AGP" (845GV)
                                      The Emachines are notorious for the onboard video and sound going bad, IMO. (I have two Emachines and both had problems with the onboard devices after a few years)

                                      I'll have to test Patrice's demo on my vista machine, a Compaq Presario, w/ Vista basic, 512 meg Ram, Intel Graphics Media Accelerator 950, Intel CPU 3 ghz.
                                      Last edited by Chris Boss; 6 Mar 2009, 05:45 PM.
                                      Chris Boss
                                      Computer Workshop
                                      Developer of "EZGUI"
                                      http://cwsof.com
                                      http://twitter.com/EZGUIProGuy

                                      Comment


                                      • #20
                                        Chris,

                                        I posted program to test for OpenGL version in Source Code forum.

                                        I just checked Patrice's sample on Intel onboard solution and it runs without any trouble. And Intels are well known for "not so good" OpenGL support, while NVIDIA for the opposite.

                                        If you will have some time, I would appreciate report from GeForce MX 4000 generated by mentioned proggie.


                                        Thank you,
                                        Petr
                                        [email protected]

                                        Comment

                                        Working...
                                        X