Jump to content

  • Log In with Google      Sign In   
  • Create Account

Problems rendering texture on a mesh


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
9 replies to this topic

#1 JiiPee   Members   -  Reputation: 135

Like
0Likes
Like

Posted 21 December 2012 - 02:05 AM

Hi,

my problem is that for some reason my texture gets twisted from two sides of a cube. I load a cube from .OBJ file and the data seems to be valid. I have tested .OBJ file with another application, wich renders the cube correctly. With both applications I get same result after loading the OBJ-file, but my application doesn't render it correctly. Mysterious part is that only two sides of the cube is rendered incorrectly but four other sides looks ok. I have attached pictures from cube as well.

Work order of loading and setuping the mesh:

1. Get position data and texture position data from OBJ-file

2. Get indices of vertices

3. Setup vertex and index buffers

4. Load and setup texture

Any ideas what might cause this error?

Attached Thumbnails

  • tex_1.png
  • tex_2.png
  • tex_3.png
  • tex_4.png

See my game dev blog: http://gamedev4hobby.blogspot.fi/

Sponsor:

#2 eppo   Crossbones+   -  Reputation: 2466

Like
0Likes
Like

Posted 21 December 2012 - 04:02 AM

Could you post the .obj file as well?

#3 GeniusPooh   Members   -  Reputation: 157

Like
1Likes
Like

Posted 21 December 2012 - 04:05 AM

at my case mostly it occur about vertex declarion about buffer and shader ...

 

of vertex buffer's structure..

 

and you must use PIX for this kind of problem..

 

It's in DX sdk


Beauty is only skin deep , ugly goes to bones

 

World's only 3D engine tunner and 3D engine guru.

 

and real genius inventor :) but very kind warm heart .. and having serious depression for suffering in Korea

 

www.polygonart.co.kr ( currently out dated and only Korean will change to English and new stuff when I get better condition :) sorry for that)


#4 NightCreature83   Crossbones+   -  Reputation: 2853

Like
0Likes
Like

Posted 21 December 2012 - 04:27 AM

Check the texture coordinates for the faces that are rendering wrong. The suggestion of using pix for this is good as well as it can show you at which coordinates a texture is being sampled.
Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, Mad Max

#5 JiiPee   Members   -  Reputation: 135

Like
0Likes
Like

Posted 21 December 2012 - 06:57 AM

Here is the mesh what I try to load:

 

# 3ds Max Wavefront OBJ Exporter v0.97b - ©2007 guruware

# File Created: 16.12.2012 18:16:25

 

mtllib MyNewRock.mtl

 

#

# object Box001

#

 

v -20.6063 0.0000 -0.0150

v -20.6063 0.0000 -9.1689

v -7.4212 0.0000 -9.1689

v -7.4212 0.0000 -0.0150

v -20.6063 10.1923 -0.0150

v -7.4212 10.1923 -0.0150

v -7.4212 10.1923 -9.1689

v -20.6063 10.1923 -9.1689

# 8 vertices

 

vn 0.0000 -1.0000 -0.0000

vn 0.0000 1.0000 -0.0000

vn 0.0000 0.0000 1.0000

vn 1.0000 0.0000 -0.0000

vn 0.0000 0.0000 -1.0000

vn -1.0000 0.0000 -0.0000

# 6 vertex normals

 

vt 1.0000 0.0000 0.0000

vt 1.0000 1.0000 0.0000

vt 0.0000 1.0000 0.0000

vt 0.0000 0.0000 0.0000

# 4 texture coords

 

g Box001

usemtl 01___Default

 

s 2

f 1/1/1 2/2/1 3/3/1

f 3/3/1 4/4/1 1/1/1

s 4

f 5/4/2 6/1/2 7/2/2

f 7/2/2 8/3/2 5/4/2

s 8

f 1/4/3 4/1/3 6/2/3

f 6/2/3 5/3/3 1/4/3

s 16

f 4/4/4 3/1/4 7/2/4

f 7/2/4 6/3/4 4/4/4

s 32

f 3/4/5 2/1/5 8/2/5

f 8/2/5 7/3/5 3/4/5

s 64

f 2/4/6 1/1/6 5/2/6

f 5/2/6 8/3/6 2/4/6

# 12 faces

 

And thanks for suggesting PIX debugging tool. I have to look how to use it.


See my game dev blog: http://gamedev4hobby.blogspot.fi/

#6 JiiPee   Members   -  Reputation: 135

Like
0Likes
Like

Posted 21 December 2012 - 07:25 AM

I added a debug photo and it seems that texture coordinates are actually wrong. Some of those coordinates don't match.

Attached Thumbnails

  • debug.png

See my game dev blog: http://gamedev4hobby.blogspot.fi/

#7 eppo   Crossbones+   -  Reputation: 2466

Like
2Likes
Like

Posted 21 December 2012 - 08:00 AM

When I delete discontinuous uv map values, the box looks like the above pictures (with the two opposite sides along the z-axis distorted). You'll have to duplicate/unweld vertices with identical positions, but individual (per face) uv coordinates. That is, faces that refer to the same vertex, but have a value on a different uv chart, need to be assigned a copy of the vertex with their own specific uvs.

#8 JiiPee   Members   -  Reputation: 135

Like
0Likes
Like

Posted 21 December 2012 - 08:13 AM

Thanks eppo. I noticed the problem. I assigned correct position data but wrong tu tv coordinates so I have to fix my algorithm. I think this will solve my problem.
See my game dev blog: http://gamedev4hobby.blogspot.fi/

#9 JiiPee   Members   -  Reputation: 135

Like
0Likes
Like

Posted 21 December 2012 - 08:15 AM

Thanks eppo. I noticed the problem. Position data was correct but I loaded wrong tu and tv coordinate so I have to fix my algorithm. I think this will fix my problem.


See my game dev blog: http://gamedev4hobby.blogspot.fi/

#10 eppo   Crossbones+   -  Reputation: 2466

Like
0Likes
Like

Posted 21 December 2012 - 08:22 AM

Note that the .obj data's vertex normals are also indexed, so you'll have to duplicate those too.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS