• Content count

  • Joined

  • Last visited

Community Reputation

331 Neutral

About Corvwyn

  • Rank
  1. Assimp issue

    Are the number of aiMeshes (mNumMeshes) the same when loading .obj and .stl? It looks like the wheels/lower parts of the mesh aren't rendered for .obj files.   Have you tried other 3d models than this one?
  2. It worked! Don't know how I managed to miss that. Thanks!
  3. I thought I went through this so thoroughly, but what do you know... Seems like normal and texturecoords have been switched when creating the input layout. No wonder the "normals" affected the textures the way they did. Many thanks for the advice! I'll check it out when I get home. My fingers are itching to fix this.
  4. Anyone know what the problem is?
  5. While testing I set the texture coordinates to always be 0.0f, 0.0f, and it didn't affect the result at all. Why doesn't changing the texture coordinates have any effect? I've tried using the same shader to render a simple textured square without loading it from AssImp, and the textures work. The only way I got anything to change was to mess with the normals (switched z and y). At least all the textures didn't look as strange as they do in the screenshot. I never really got the textures to show properly though. I have aiProcess_MakeLeftHanded enabled, so the normals should be correct. I have also tried just about every parameter I can pass to the AssImp importer, without success. I'm using these settings while importing: const aiScene* scene = importer.ReadFile( inFilename, aiProcess_CalcTangentSpace | aiProcess_MakeLeftHanded | aiProcess_Triangulate | aiProcess_JoinIdenticalVertices | aiProcess_SortByPType | aiProcess_FlipUVs | aiProcess_GenSmoothNormals | aiProcess_RemoveRedundantMaterials | aiProcess_FlipWindingOrder );   I'm using the mesh Bob.md5mesh included with AssImp. The only change I've done to the model is that I converted the textures to DDS, but it works in AssImpView. Maybe I have to do something special with this model to get it to work with DirectX(11)? I can of course provide the code or more screenshots showing the problem, if that would be of help. One good thing about all these problems is that I've gotten more understanding about texture coordinates, buffers etc. I'd really like this to just work soon though. Edit: Added some more info.   When I switch the z and y normals, this happens:
  6. Setting the parameter aiProcess_FlipWindingOrder while importing fixed the problem with culling. It now works correctly with CULL_BACK. When using CULL_NONE faces that shouldn't be shown seem to be rendered. Anyone have a clue what's happening?
  7. After some research I assume that the reason the model seems to be textured on the inside is because of culling. Maybe it will work if I adjust CullMode and FrontCounterClockwise in the rasterizer state. Too bad I'm stuck at work at the moment :p
  8. Another strange thing, that isn't really noticable in the screenshot is that the model only seems to be textured on the inside. When I loaded a cube and looked at one side, the surface I was facing disappeared and I could only see the inside.   I haven't been able to test out your idea yet Jason. I'll see if I can do that today.
  9. Thanks for the replies.   Jason: Good idea! I'll try with a cube or something and see what happens.    Schromph: The texture coordinates are set to D3D11_TEXTURE_ADDRESS_WRAP. I've been messing around with texture coordinates/settings, but it didn't seem to help.
  10. I've finally gotten AssImp to work in DirectX11, but the textures are all wrong. I seem to remember seeing something similar before, but I can't remember what caused it.   Any ideas? I've included a screenshot (Print screen didn't seem to work, so I just took a picture for now).
  11. Just in case you're interested. One way of rendering text is to use SpriteFont from the DirectX Toolkit. This uses bitmaps, and includes a tool to create bitmap fonts from truetype fonts.   There's a little disclaimer on localization, which I copy-pasted below, but it probably won't be an issue for you. If you want to check it out further the documentation is pretty good.   Localization This implementation supports sparse fonts, so if you are localizing into languages such as Chinese, Japanese, or Korean, you can build a spritefont including only the specific characters needed by your program. This is usually a good idea for CJK languages, as a complete CJK character set is too large to fit in a Direct3D texture! (if you need full CJK support, Direct2D or DirectWrite would be a better choice). SpriteFont does not support combining characters or right-to-left (RTL) layout, so it will not work for languages with complex layout requirements such as Arabic or Thai.   PS. You might have gotten more response if you posted this in "DirectX and XNA" and tagged it with DX11 or something.
  12. What to write with now?

    In my opinion there's also the matter of productivity. By using unique/shared_ptr you avoid any nasty side-effects that might happen, and it takes less time to write code since you don't have to think of cases like that. There's a reason XNA and C# gained such popularity, and productivity is definitely one of them.   Things like this, along with other language improvements and the new libraries for DirectX should make C++/DirectX a much easier development choice than it was before. Sure, it might not be XNA, but it's becoming easier to use. This might be what the thread starter is looking for.    Of course there will be a slight performance loss when using smart pointers, but as long as you use them as intended it should be negligible. unique_ptr should have virtually no performance loss. I use these almost exclusively, except in some lower level code. That being said, you should definitely learn how pointers work. The good thing with C++ is that you can always optimise if you find bottlenecks. If there's one thing I've learned to get things done, it's not to optimise prematurely. I'm not an expert here though. I'm apparently more of a tech demo developer and I haven't really finished a game yet :p   Hmm... This is starting to sound like a Microsoft/C++11 rant. I'd better stop.
  13. What to write with now?

    Disclaimer: I haven't really tried XNA, so some of my assumptions may be wrong. I code in C++/DirectX 11 myself.   Microsoft seem to be focusing on C++ a lot lately, especially the new C++11 standard. I don't know how this ties into Xbox 720 yet, but we might just find out in April.   Two devs from XNA/DirectX have written a library called DirectX toolkit. It contains a lot of the functionality from XNA (   With the new C++11 standard I feel that C++ has become easier and safer to use. You don't need to use the old-style pointers, you can just use unique_ptr or shared_ptr .There are a lot of videos available on channel9 about the new features. The ones from Herb Sutter are particularily good. Here are two intro videos in case you're interested:   Bjarne Stroustrup: and Herb Sutter:
  14. C++/DirectX Tutorials?

    I only make Windows Desktop games, but I've read quite a bit about programming for windows 8 as well. I've included some stuff you don't need to use right away, so don't feel like you need to know everything to begin with.   Rastertek is definitely a good tutorial for DirectX. The only problem if you want to make Windows 8 games is that it uses some libraries that are not supported (Direct3dx). You could certainly do what I did and just convert the code to use the new libraries. It might take a bit of time, but you'll learn something in the process. Converting this is maybe not the first thing you should do though.   If you want to follow the new direction by Microsoft you shouldn't use the DirectX SDK, but the Windows SDK. I believe it's included with Visual Studio 2012 express. This is required for Windows store games. There is some info about it here:   For a quick start on your windows 8 game programming, maybe you could try the recently released Visual Studio 3D starter kit. There is also a video giving you a quick tour. I haven't tested this myself, but it looks pretty good.   I would also check out the DirectX toolkit ( to make some things easier, like loading models, fonts etc. It's made by two DirectX devs and based on the code from Xna, and is quite well documented. There are also some samples included.   The toolkit also includes something called SimpleMath, which I would recommend you use. You should look into this once you get started on matrices/vectors in DirectXMath (The new math library used for desktop/windows 8). It will save you a fair bit of code and make things much easier to read.
  15. DirectX Game tutorials?

    Rastertek is very informative. I've been using it to learn DirectX 11 myself.   There is also this: It teaches about the same as the rastertek tutorial, but uses XnaMath. The code in rastertek is easier to learn from, since it puts code in different classes, as opposed to everything in one file. I'd recommend using rastertek for most things, while supplementing with some tips from this one if needed.