Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Everything posted by EmperorXYZ

  1. I see thanks. Well, I'm still at the learning phase and I'd like to write a project or two where I'd have to go fairly low level with DirectX. After that, I'm all for less painful code writting. I'll check out SlimDX, SharpDX or XNA once I have a fairly solid grasp on how DX works. I'm also wondering about DXUT as even if I'm writting a complete C++ project, I still want shortcuts.
  2. Reason for asking: I've recently learned C# and really like it. It's just that I've been able to find ressources explaining well the BLC. I'm sure C++ also have similar libraries, but from how difficult it was for me to start learning Boost, I'd rather use C#. So, I was wondering if that would be a good idea or there are hidden reasons, such as performance issues or lack of compatibility. I was planning on using C++ DLLs to make DirectX calls and use C# for game logic and pretty much everything else.
  3. Hi, first of all, I'm following Frank Luna's book for DirectX10 and it is mostly pretty clear. I'm at chapter 5 where the whole rendering process is explained. Individually, I think I understand them all. The vertex buffer is initialized and bound to an input slot to the pipeline at the Input Assembler Stage. The vertices in the vertex buffer is feed into the first shader which is the vertex shader and go through all sort of transformations. How I understood it is that most commands are there to set up the stage and prepare for the transformations to be applied. What I mean is for example, commands such as the one that set the rasterization state, set a constant buffer variable, bind a vertex buffer to an input slot, etc... all those commands are just preparing for the transformation. My first question is, what is the command that actually runs the code inside the effect file? I used to think it was pass->Apply(0); where pass is an ID3D10EffectPass* interface, but after looking at the code, the buffer index is bound to the input slot after that command, so it can't be. Is it the command md3dDevice->DrawIndexed(mNumFaces*3, 0, 0); where md3dDevice is an ID3D10Device* interface. I just need to know when is the code in the effect file is situated chronologically if I only look at the code in VC++. Second question, while where the input to the vertex shader comes from is unambiguous, where does the output of the effect file go? I mean for the input, you explicitly use md3dDevice->IASetIndexBuffer(mIB, DXGI_FORMAT_R32_UINT, 0); which makes the effect file know that I want to use vertex buffer mIB as the input for the effect file and not some other vertex buffer instead. My question is, once all the transformations have been done on those vertices, where does the result go? From the look of it, the result goes back to the same vertex buffer, but there doesn't seem like there is an explicit command that sets the location where the output is saved.
  4. Okay, I think I understand now. Basically, the draw command says I want to draw using that vertex buffer, but after the vertices have been transformed by the shader code. I kept thinking before that we had to "run" the code in the shaders on the input, store the output somewhere and then call draw to use the output. Thanks
  5. Hi, I'm looking for a good book that already assumes that you know about the API like DirectX or OpenGL and really focus on making games. Thanks.
  6. I've always been confused with this. I mean when should I used MyClass *obj = new MyClass(args) instead of MyClass obj(args)? You can probably explain this to me well, but I'd like to have general guidelines and examples. For now, I've always used new to create instances and it has been working, so I could afford being shamefully ignorant on this subject.
  7. I see. Well thanks. Seems rather simple. Only one thing to check to decide which to use. I've always thought choosing which needed some black sorcery to make clear.
  8. EmperorXYZ

    VS2010 project defaults?

    Oh wait, sorry, it did work. Maybe I had to shut VS2010 down and restart it before I can create a new project. Thanks
  9. Hi, every time I want to create a directX project in VS2010, I have to go into project properties VC++ directories and add the include and library paths to the project because for some reason those paths are not added automatically. When adding directories, I notice that there is a way to inherit values from parent or project defaults. Is there a way to edit the project defaults to always put those include and library path in every new projects? Thanks.
  10. EmperorXYZ

    VS2010 project defaults?

    Thanks Ximmer, but I think only projects in the same solution will inherit. I've checked that link and it sends me to a folder with props files which I assume changes VS2010. Problem is while I can edit them with notepad, I haven't found one that controls include and library paths.
  11. Not sure about the header. Will try next time without. Thanks for the #pragma comment line. I didn't know. Will be using that instead. I see edd. That's fairly clear. I think it was really <windows.h> that threw me off because I was expecting a windows.lib file.
  12. Hi, I've gone through college in computer engineering without knowing this, so I'd like to ask this now once and for all to end my shameful ignorance. I understand the concept of using libraries so that we don't have to reinvent the wheel and use code that has been well written and tested. I don't really understand it when in visual c++ 2010, you go in project properties linker input additional dependencies and add some .lib files for example d3d9.lib or alld.lib. I mean I suppose that's like adding libraries right? In that case, how come some times, I just need to #include <windows.h> and other times I need both #include <d3d9.h> and d3d9.lib. Could someone please link me to a good article explaining this well? I'd like to understand it before I start learning about dynamic libraries. Thanks
  13. Okay, just so that I understand, writing an engine by itself isn't evil. Writing an engine without prior experience in game making is right?
  14. Excuse me, but what is "the big old broadsword that is MAKE GAMES NOT ENGINES"? I'm new here, so could someone direct me to a post explaining that? Why not make engines?
  15. I have searched the forum first and the impression I got was that most code is badly written, especially the Quake Engine. I'm just wondering, is there a consensus amount this community that would point out a particular game which would be a prime example of good software engineering? Preferably a fairly large project demonstrating several concepts such as path-finding, collision detection, asset management, game engine design, AI, etc... Now, if there isn't, please tell me so that I can stop searching and concentrate on other ways of learning. Thanks.
  16. Hey, thanks for all the replies. I've been busy with a new job these few days. I'll definitively check out your game Roots this weekend P. S. I should have precised that the Quake Engine was badly written from a learner's point of view. And thanks ddn3, I'll take a look at that one too. P. P. S. I just looked at a youtube video of HoA. Seems like that tile set is quite popular. I got it from Lost Garden.
  17. I know I should learn from my own mistakes and I am doing that. I've been writing a 2D engine. I'm at a stage where I have implemented a number of gameplay features. For example, I have written the code for collision detection in a 2D map for an action RPG like character and it is working very well. I would like to see how other people implemented that function though to gain some new perspectives. I'm also ready to just write my own path-finding code, but after I do so, I would like to see if other people have implemented it in a more efficient manner.
  • 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!