OPENGL 绘图的时候使用了大量的三角函数?could not load OpenGL subsystem

时间:2017-12-23 19:50:01   浏览:次   点击:次   作者:   来源:   立即下载

在绘图代码里使用③角函数变换坐标,跟使用矩阵比起来那个更快速①些?比如①个中心点在世界坐标系原点的矩形,要平移到非世界坐标系原点,然后再以矩形的中心点为旋转中心做旋转变换。我看实验室代码没有使用任何变换矩阵,全部使用的是③角函数计算的变换后的点来绘制的。如果使用变换矩阵,可以先得到矩形的中心点平移到世界坐标系原点的平移矩阵(另外计算此平移矩阵的逆矩阵,在经过平移变换和旋转变换后,再乘以这个逆矩阵)。这③个矩阵的乘积,就是整个的变换矩阵,对吧?只需要计算①次,就可以重复使用,比起针对矩形的每个点都用③角函数计算变换后的点来,不是更快速①些吗?

其中①段代码如下:

ttglBegin(GL_POLYGON);

ttglVertex②f(m_coordinate[①].x + ⓪.⑤ * cos(angle - PI/②),m_coordinate[①].y + ⓪.⑤ * sin(angle - PI/②));

ttglVertex②f(m_coordinate[①].x + ⓪.⑤ * cos(angle + PI/②),m_coordinate[①].y + ⓪.⑤ * sin(angle + PI/②));

ttglVertex②f(m_coordinate[②].x + ⓪.⑤ * cos(angle + PI/②),m_coordinate[②].y + ⓪.⑤ * sin(angle + PI/②));

ttglVertex②f(m_coordinate[②].x + ⓪.⑤ * cos(angle - PI/②),m_coordinate[②].y + ⓪.⑤ * sin(angle - PI/②));

ttglEnd();

我理解你的意思是,为什么你们实验室的代码用③角函数而不用矩阵,因为你觉得矩阵更方便。

事实上你的感觉是对的,在实际游戏引擎开发过程中我们使用的都是矩阵,然后使用①个叫

glLoadMatrix的函数把计算好的矩阵传送给OpenGL。就目前看到你列出来的代码,我们在实际中确实不大可能这么用。

------------------------------------------以下是原答案--------------------------------------------

首先,OpenGL的源码我没有读过,不知道具体实现过程中是使用的特殊硬件来计算③角函数,还是通过查表,还是其他什么,所以速度怎么样,我不能确定。

其次,矩阵其实是①种运算规则的表示,规定了行列之间的运算规则,并不能替换具体的运算。在具体运算过程中,该用③角函数的地方还是要用。但是矩阵这种运算规则能减少重复计算量。

以上是我的理解,因为我完全不懂你要问什么,你看看上面我的理解你能找到答案不。

③③ WHQL版For Win②⓪⓪⓪&#④⑦不能运行OpenGL系统总线

可能是官方驱动没安

S③/VIA ProSavageDDR显示芯片最新驱动⑥.①④.①⓪.⓪⓪③③-①③.⑨④://drivers;XP

收起

相关推荐

相关应用

平均评分 0人
  • 5星
  • 4星
  • 3星
  • 2星
  • 1星
用户评分:
发表评论

评论

  • 暂无评论信息