OpenGL中在将矩形纹理转化为梯形(VC++)急

hand3903 2007-01-17 07:47:49
我利用OpenGL输出了一个二维的图片。如何在显示时能将该图片转成梯形的样子显示出来。急待解决。望高手指点!
...全文
506 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
uniqueniloc 2012-06-11
  • 打赏
  • 举报
回复
你好,请问你最后是怎么解决图片填充到梯形会变形的问题的,我也碰到这样的问题。看了那个链接里的文章,大致的思路是拆分纹理面和贴图,我还是不清楚该怎么拆分,我的纹理面是个等腰梯形,请不吝赐教,谢谢了。
hand3903 2007-01-19
  • 打赏
  • 举报
回复
感谢老兄指点。问题已解决。结贴。
hand3903 2007-01-18
  • 打赏
  • 举报
回复
谢谢大家的支持。我先看看老兄们给的答案。回头来结贴。如果哪位老兄有例子的话,麻烦给小弟发一份。小弟将另开贴赠分。此致不胜感激。
邮箱:hand3903@163.com
Y___Y 2007-01-18
  • 打赏
  • 举报
回复
http://blog.csdn.net/Y___Y/archive/2006/12/04/1429863.aspx
hand3903 2007-01-18
  • 打赏
  • 举报
回复
可是这样输出的图片会产生局部变形(正常的情况下应该是全图按照比例发生形变)。比如说:我构造一个直角梯形,让底边为顶边的1/2,这时图片的右下部(以右上角顶点和左下角顶点所构成的对角线划分)则会发生形变,而左上部图片则不发生形变,所以造成图片的整体比例失调。小弟初学,不知这种情况怎么处理,还望高手不吝赐教。
Y___Y 2007-01-17
  • 打赏
  • 举报
回复
这个容易
帮顶纹理后
构造一个梯形,一般为四个共面点
glBegin(GL_QUADS);
glTexCoord2f(0,0);
glVertex3f(.....);//梯形第一个点
glTexCoord2f(1,0);
glVertex3f(.....);//梯形第二个点
glTexCoord2f(1,1);
glVertex3f(.....);//梯形第三个点
glTexCoord2f(1,0);
glVertex3f(.....);//梯形第四个点
glEnd();
纹理坐标的顺序一定要与梯形点的顺序对应(顺时针和逆时针均可)

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧