• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Corvwyn

Strange textures when loading md5 model in AssImp

11 posts in this topic

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).

Edited by Corvwyn
0

Share this post


Link to post
Share on other sites

It looks to me like the texcoords are stuck at a particular value, causing it to look like the texture is stretched across the whole model.  Have you tried loading a simpler model yet?  I would start out with something like a square or cube, where you can assign known values to each vertex.  Then when you load the model through AssImp, you can inspect the results and ensure that everything was properly read in and interpreted.

1

Share this post


Link to post
Share on other sites

Maybe the model creator mapped the texture to -1 .. 0 on one axis, and you activated texture coordinate clamping. The result would then look just like this.

1

Share this post


Link to post
Share on other sites

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.

Edited by Corvwyn
0

Share this post


Link to post
Share on other sites

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.

Edited by Corvwyn
0

Share this post


Link to post
Share on other sites

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

0

Share this post


Link to post
Share on other sites

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?

Edited by Corvwyn
0

Share this post


Link to post
Share on other sites

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)?
https://assimp.svn.sourceforge.net/svnroot/assimp/trunk/test/models-nonbsd/MD5/

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:

Edited by Corvwyn
0

Share this post


Link to post
Share on other sites
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.
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0