作者littleshan (我要加入剑道社!)
看板GameDesign
标题Re: [程式] 关於Open GL里面, Blending 执行速度的 …
时间Wed Aug 9 19:30:18 2006
※ 引述《elfria (elfria)》之铭言:
: 我刚刚在看 NEHE 的Open GL教学....
: 我就一直在想...他几行我觉得可有可无...
: 然後,当我去掉的时候,果然还能执行...但是速度马上变慢, 为本来的1/5
: 像是这个
: http://nehe.gamedev.net/data/lessons/vs_net/lesson08.zip
: 我把lesson8.cpp 改
: 第166行:
: glBindTexture(GL_TEXTURE_2D, texture[filter]);
: 把它除掉加上注解...马上变超慢的
: 不然就是把fileter改成 1或2...也会变慢一些...
: 但是,只有执行的效率改变了,执行的结果却都一样....
: 不知道这个是做什麽用的...
glBindTexture 是让你选择目前要使用的 texture
你可以把许多 texture 放进 texture memory 中并在其中切换使用
这样要使用不同的 texture 时就不须要再传一次
(在 PCI-E 出现之前 把资料传到显示卡上的速度并不快)
这个 demo 只是在显示不同的 texture filter 会有怎样的影响
不同的 filter 结果应该是不一样的
不过也可能因为 texture 本身就很 smooth 所以你看不出差异
filter 使用 1 时是 bilinear interpolation
使用 2 时是选最接近的 mipmap 做 bilinear interpolation
两者都会比 nearest 还要慢
如果你直接把那一行 glBindTexture 注解掉
那麽它用的 texture 就是最後一次使用 glBindTexture 所选的那张
也就是第 92 行
glBindTexture(GL_TEXTURE_2D, texture[2]);
所选用的
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.62.3.35
1F:推 elfria:good job..简单易懂 08/09 19:35
2F:推 StubbornLin:OpenGL应该是状态机器,没记错的话 XD 08/09 22:59