游戏开发论坛

 找回密码
 立即注册
搜索
查看: 9981|回复: 23

求助:OpenGL贴图,对象缩小时候,图片出现了黑色条纹

[复制链接]

1

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2006-11-29 10:26:00 | 显示全部楼层 |阅读模式
代码使用vb.net实现,使用的Tao.OpenGL类库,纹理创建的代码如下:
Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR_MIPMAP_LINEAR)
Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR)
Glu.gluBuild2DMipmaps(Gl.GL_TEXTURE_2D, Gl.GL_RGB8, textureImage(i).Width, textureImage(i).Height, Gl.GL_BGR, Gl.GL_UNSIGNED_BYTE, bmData.Scan0)

这个纹理是贴在一个立方体上面,在这个立方体缩小到一定程度的时候,就会出现一些黑色的条纹,放大的时候没有这个问题。
看了以前的一些问题,修改过滤方式没有效果(线形过滤什么的,都试过了),有人说要修改Depth精度,还有和Projection的f/n有关,但是我都不知道怎么做。

希望大家可以帮助我,谢谢!
sf_2006112910261.jpg

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2006-11-29 14:34:00 | 显示全部楼层

Re:求助:OpenGL贴图,对象缩小时候,图片出现了黑色条纹

当然是需要创建MIPMAP了

1

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2006-11-29 14:40:00 | 显示全部楼层

Re:求助:OpenGL贴图,对象缩小时候,图片出现了黑色条纹

我已经用 Glu.gluBuild2DMipmaps 创建好了,在某些机器上是正常的。有一些不正常而已!

0

主题

8

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2006-11-29 23:05:00 | 显示全部楼层

Re:求助:OpenGL贴图,对象缩小时候,图片出现了黑色条纹

     试试纹理坐标和几何坐标用三角形方式对齐.

1

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2006-11-30 09:42:00 | 显示全部楼层

Re:求助:OpenGL贴图,对象缩小时候,图片出现了黑色条纹

谢谢楼上的帮助,不过我是一个初学者,上面的能不能说得详细和具体一些?
这个三角形对齐方式怎么实现?

8

主题

716

帖子

716

积分

高级会员

Rank: 4

积分
716
发表于 2006-11-30 09:51:00 | 显示全部楼层

Re:求助:OpenGL贴图,对象缩小时候,图片出现了黑色条纹

这是z-fighting
使用polygon offset设置bias

1

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2006-11-30 10:27:00 | 显示全部楼层

Re:求助:OpenGL贴图,对象缩小时候,图片出现了黑色条纹

各位大大能不能说得详细一些,我是初学者,很多名词还听不懂!
谢谢大家!

8

主题

716

帖子

716

积分

高级会员

Rank: 4

积分
716
发表于 2006-11-30 12:45:00 | 显示全部楼层

Re:求助:OpenGL贴图,对象缩小时候,图片出现了黑色条纹

http://www.codesampler.com/oglsrc/oglsrc_5.htm#ogl_polygon_offset

1

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2006-12-1 10:04:00 | 显示全部楼层

Re:求助:OpenGL贴图,对象缩小时候,图片出现了黑色条纹

多些楼上的帮助!

我使用了下面的代码,可以问题仍然存在:

gl.glPushMatrix()
gl.glEnable(gl.GL_POLYGON_OFFSET_FILL)
gl.glPolygonOffset(-1.0f, -2.0f)
...
gl.glLoadIdentity()
gl.glTranslatef(....)
..
gl.glPolygonOffset(0, 0)
gl.glDisable(gl.GL_POLYGON_OFFSET_FILL)

gl.glPopMatrix()

0

主题

8

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2006-12-4 21:08:00 | 显示全部楼层

Re:求助:OpenGL贴图,对象缩小时候,图片出现了黑色条纹

    gl. glBegin(gl.GL_TRIANGLES);
......
   两个三角形构成一个矩形.
   为什么学OPENGL?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 06:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表