Jump to content
  • Advertisement

Mate

Member
  • Content Count

    32
  • Joined

  • Last visited

Community Reputation

138 Neutral

About Mate

  • Rank
    Member

Personal Information

  1. OpenGL and Java havn't the capacities to make a game really high performence. The cross platform thingy is an really disadvantage of DirectX. Thanks at all.     That are good links. Thank you fore them. But which of them would you recommend to me ?     I'll have a closer look at it soon, thanks.     Thanks really usefull. Thanks ! But I don't really get what you mean with (no more D3Dx) ...       Sure, when I use a book, then just for learning the commands and the since and functunallity behind it. Then I write a sample programm to remember and see it in action. So thats the way to learn, aint ? OpenGL hasn't this deep, DirectX has. Also Java is more basic and more, I would say it's more about a logic, simple and friendly useage. C++ is avout efficience. And efficience is what I need for a game.   And with deeply learn I meant not to learn for all cases, I ment to undestand the process behind the scenes. Like for I/O programing how the command gets to an output.     I do the book is for knowing the commands and the actions behind the scenes.         Thanks to all. I have now a good amount of links and books :).
  2. Hello,   I moved from Java/ OpenGL to C++/ DirectX. I only say that, that you know what holes are to fill, if you have done that move also. I have a really good book, where I learn C++/C with, but I didn't find any really good source to deeply learn Direct3D and 2D also.   I found serval tutorial, which say what is to do, but they don't explain it in deep.   It would be nice, if someone could give me a source. Whatever it is. A book, videos, text ..   Mate
  3. I fixed the error. It was a wrong entry point. Not some basic errors to fix till start and I'm done then :) Thanks to all here.
  4. Haha ... as I posted the code, I looked at the original code now .. I saw it. I forgot the Classname::functionname operator. What ever this is called in america. Thanks anyway, but one external error is left, this one :     I quickly translated   I thought it is the project type. So my main looks like :   int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)     and the subsystem is Windows
  5.   Thanks. I obviosly got confused by the pointer thing. So when I have 1 pointer in one class, I can acces the original object. When I give this pointer away as one pointer to anoother class-instance am I'm accessing the same object as in the main class ? Or do I have to give a pointer to the pointer to acces the original ? I personally thing know I can give this pointer as one.       To the error :     ... I think you can see now, why I didn't just wrote the log before instand of describing it .. It's in German.   But the main error you see is "nicht aufgelöste Externe" or the same as "nicht aufgelöste externe Verweise" what means something like "unresolved external symbols".   Code :       Please don't get shocked by the functions itself. I quickly wrote them in this quote and didn't copied them from original. But they key points are in. There are some parts, that I know are total bullshit and are only for testing, I'll change it, when the tests are over.
  6.     And that's why I said you should work on your C++. Most of the questions you ask, you wouldn't need to ask if you had read a semi-decent book on C++. I highly recommend C++ primer 5th ed (not to be confused with primer plus). If you feel it's too hard, I'd recommend Sams teach yourself C++ in 24 hours. You could of course check this topic - http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list and decide what's best for yourself. I'll emphasize the fact that your issues stem not from DirectX's COM objects, but rather from your lack of a better knowledge of C++ (at least that's what your questions lead me to believe). While Java and C++ have some things in common, they are plenty different, so you should really study the language with dedication. I cannot imagine anybody making a decent 3d renderer/engine in C++ without actually having an idea of various design patters, class authoring concerns, paradigms etc. even less when he lacks understanding of the basics of the language (constructors and pointers are considered basics).     On a side note, I guess people would eventually get pissed at your comments, because they expect "actual questions" - not a step by step guide how to make every single detail work for your implementation. The general idea is that you should put in more effort before asking questions - as in learn the language - or at least the basics. There would be no use if the community writes your whole code for you. I like to regard gamedev as a place that can give you a basic idea where to go from a certain point, if you get stuck, or provide you with additional reading material (that you may or may not be aware of), or give you a relatively objective critique of your code, rather than a "tool" that can magically "fix" your code or write it for you.     I buy it. I tried a couple of tutorials of C++ before, but they were too basic. Its just boring to read what integers and floats are. Thats why I tried to only ask for the differences of the two languages in here to fill the hole, without wasting time on things I know from Java. (And maybe this sounds arrogant aswell .. I can't change it !)   Now I'm searching a book exactly done for my "holes". I can't find something usefull yet, where the pleople I asked sayed its good aswell.   Know if you want a concrete question I'll give you. And I don't want you to write my code. Just filling holes.   Q:   I try to give a pointer to a COM object to a function.   But I can't use the members with the acces operator. Like deviceContext->blablabla   when deviceContext is a pointer to a COM like: void whatever(ID3D11DeviceContext **deviceContext)   But the acces operator works for all my other pointer-to-class's. Olny the COM's are making trouble.
  7.   Didn't I say at the beginning that english isn't my mother language. I can't rally write it so precision, that you fully get how I wanted to say it. And I don't want to say your dumb, I want to say, that my post sound. Thats why it sounds arrogant. With "I worked on other projects" I wanted to say, that i have enough experience with 3D programming and my "problem" is C++.
  8. Don't know why, but my awnser got deleted ?!   So thanks here for your help.   I try to make my code clean since a week now, as you know. Now I try to give a pointer to a COM object to a function.   But I can't use the members with the acces operator. Like   deviceContext->blablabla   when deviceContext is a pointer to a COM like:   void whatever(ID3D11DeviceContext **deviceContext)   But the acces operator works for all my other pointer-to-class's. Olny the COM's are making trouble. In the moment I solved it the bad way just for get it working till I got the solution.
  9. Mate

    The magical games atmosphere ?

    We loved the good old games because we were younger back then and not so grumpy and complainful You can't compete with the past, everything is always more colourful and tastier in our memories. (if you don't believe, go and play the old games now and tell your impressions - excluding nostalgia, pure gameplay )   Yeah thats true :|. Unfortunately it's true ... I just want to know if anybody tryed to smoke and play an old game Maybe it's the old feeling, what makes the life fancy. (In the general not only games).   Don't take it to serios !
  10. Where did you read this?   On the websites of DirectX and OpenGL.         Yeah :)     Thanks for the links. And to "that's why I said learn C++ before...". I'm actually changing the language and I learned the basics of C++. So I'm at the point, where I can say "I got enough to work with, now I start and all I don't have, will be learned on the long, hard way." Thats ... pretty realistic and .. I got a lot of this "Ahh I'm feeling so much more routined now in C++" - moments in the last time. Thats gonna work :)
  11. C++ isn't "even clearly made for games" either. Sure it provides greater freedom, but it's not "better" than Java. And I don't believe that DirectX "has better performance" than OpenGL.     Ehm sorry ... I wanted to say OpenGL and not Java . Gives a new definition of the sentence. Sure DirectX has better performence IN GAMES. DirectX is made for games. OpenGL is not made for that. As they created it, there main goal was the graphics, not the performence. And I never sayed that C++ is better. I sayed, it's the better chose for a demanding game. And C++ on it self doesn't make the difference, DirectX does. But DirectX is only avalable for C++ so .. you have to use C++ with DirectX. And even when it wouldn't be forced, C++ has more freedom and more freedom means more way to enhance the performence, in this case.     So then I'll take a look at the patterns ..     EDIT :   Is there any structure in C++ compareable to the "List" structure from Java ? I could need something like this :) So the main attributes are that you don't have to set a final amount of index values, you can add items of the same type by some command (in Java it's " listname.add[buffer3] " for example), and you could get the size of the structure by " listname.lenght " (I know, that there is a way to get it in C++ anyway).
  12.     Yeah, thats true. The language at it's own can't change the performence. You actually could programm it the same way. But Java/OpenGL doesn't give you the same possibilities for the rendering part. What I write in C++ in 100 lines, I properly write in Java within 30 lines. This makes it more comfortable for me, but you can't interact the same in 30 lines, than in 100 lines. Like I never used a complicated buffer system in Java, in C++ I do. I mean .. I had buffers, but not this amount and type of.   So the thing is, that you can write the same game in C++ with better performence. Now that my game is really performence eating, I prperly have to choose the way I don't like. But when I learned one of business then it's that the way you don't like is the way, where you CAN raise the most money and experience of.   EDIT:   I started rewriting the code today. Now I want to make 100% clear, readable and less linked code. And I'm building in a system to precisionly detet errors and avoid them quickly and efficent. :-) When I'm finished, I optimize it like you guys said so thanks at all. I think, 2 days ago, I wouldn't even think at rewriting anything.   And to the upper part : Java isn't even clearly made for games. DirectX is a game library, OpenGL is a graphics library. Another reason, why DirectX has better performence.
  13.   So I sayed that I moved from Java + OpenGL and I sayed that I like Java and OpenGL ways more then DirectX and C++.   So don't you ask why I actually moved when I don't want ? It's because I had already a game on my own Java OpenGL engine. It was good for my impression. But yeah .. it is running on a i7, 8gb ram and a really good graphics card with only 8-12 fps.   So after all I realized that I have to move. And now the paranoia of bad fps is still in my neck.
  14.     So .. I'm acutally working on the new class system in the moment . Like a render class, mesh classes(but I'll change to factory soon). My only problem is, that I can't use, for example, the device context over a class. It's giving me the error "A non static member has to be relativ to an object". Now ... I translated the error, but it's something like this.   Hmm .. my problem is not the 3D space. I worked on game projects before. On big projects. But I only worked with Java + OpenGL. Now C++ and DirectX is .. kind of new for me. And thats my only problem. The structur and syntax is VERY different.   So how could I use the COM objects over classes ?   EDIT: The error is fixed. Now .. is there now better performenced way to use a rendering part, than creating an object of it ? :| I mean it can't be so good for the performence to create instances of classes, or ?  
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!