小编sho*_*osh的帖子

游戏动画的最佳方法?

我在OpenGL中进行了一个练习,用几个对象的简单动画来编写游戏

在与我的合作伙伴讨论我们的设计选项时,我们已经意识到我们对动画的工作方式有两个主要选择,或者

  • 将计时器设置为恒定间隔,例如30毫秒,当计时器命中时,计算对象应该在哪里并绘制帧.要么 -
  • 不要使用计时器,只是一直运行的正常循环,并在每次迭代中检查通过了多少时间,根据间隔计算对象的位置并绘制框架.

通常应该采用哪种方法?有没有人有任何方法的具体经验?

3d graphics animation

9
推荐指数
2
解决办法
1015
查看次数

9
推荐指数
1
解决办法
273
查看次数

使用Visual Studio 2005调试时调用函数?

这里有一些我认识的可能是可能但我从未设法做过
在VS2005(C++)中,在调试时,能够从我正在调试的代码中调用一个函数.
在调试复杂数据结构时,此功能有时是必不可少的,这些数据结构只能使用监视窗口的常规功能轻松探索.
监视窗口似乎允许编写函数调用,但每次我尝试它时都会给我一个错误或另一个错误.

Error: symbol "func" not found
Error: argument list does not match function
Error: member function not present

有没有人成功地使这项工作正常?我在这里错过了什么?

编辑:显然,调用的函数应该是调试器所在的当前范围中存在的符号.

c++ debugging watch visual-studio visual-c++-2005

8
推荐指数
1
解决办法
6859
查看次数

快速查找图像中最接近的非黑色像素

我有一个随机的2D图像和稀疏的像素分散.
给定图像上的一个点,我需要找到距离背景颜色最近的像素的距离(黑色).
最快的方法是什么?

我能想出的唯一方法是为像素构建一个kd树.但我真的想避免这种昂贵的预处理.而且,似乎一棵kd树给了我超过我需要的东西.我只需要与某种东西的距离,我不关心这是什么东西.

graphics performance 2d pixel

8
推荐指数
2
解决办法
5329
查看次数

四元数数学轮换?

gluDisk()在我的场景中使用平面磁盘.gluDisk()绘制面向正Z轴的磁盘,但我希望它面对一些任意正常的我.
显然,我需要使用glRotate()以使磁盘正确面对,但旋转应该是什么?我记得这可以用Quaternions计算,但我似乎无法记住数学.

opengl 3d graphics rotation quaternions

8
推荐指数
2
解决办法
4510
查看次数

库计划C++ 0x?

最近我对VC2010中对lambdas的支持感到非常兴奋.我正在慢慢开始把握这个功能在将C++转化为更好的东西方面的​​全部潜力.

但后来我意识到这种潜力在很大程度上取决于lambdas在日常库中的主流支持,如boost和QT.
有谁知道是否有计划使用C++ 0x的新功能扩展这些库?

lambdas实际上取代了对boost :: lambda的需求以及与之交互的boost中的所有内容.QT可以在所有容器中添加对lambdas的支持,甚至可以作为定义SLOTs 的替代方法

c++ qt boost c++11

8
推荐指数
1
解决办法
692
查看次数

CUDA:什么是散写?

CUDA SDK中的各种CUDA演示指的是"分散写入".什么是分散的写作,为什么这么好?与它的立场形成鲜明对比?

cuda

8
推荐指数
2
解决办法
3110
查看次数

纹理protobuf中的评论?

我正在使用文本protobuf文件进行系统配置.
我遇到的一个问题是序列化的protobuf格式不支持注释.
有没有办法解决?
我在谈论文本序列化数据格式,而不是方案定义.
这个问题是否被某人解决了?

configuration comments text-formatting protocol-buffers

8
推荐指数
1
解决办法
6120
查看次数

C/C++:文字字符串中"\ xNNN"格式的固有歧义

考虑这两个字符串:

wchar_t* x = L"xy\x588xla";
wchar_t* y = L"xy\x588bla";
Run Code Online (Sandbox Code Playgroud)

阅读本文后,您会发现两个字符串文字除了一个字符外都是相同的 - 'x'而不是一个字符'b'.
事实证明事实并非如此.第一个字符串编译为:

y = {'x', 'y', 0x588,  'x', 'l', 'a' }
Run Code Online (Sandbox Code Playgroud)

第二个实际上是:

x = {'x', 'y', 0x588b, 'l', 'a' }
Run Code Online (Sandbox Code Playgroud)

它们的长度不一样!
是的,'b'十六进制表示('\xNNN')字符会占用它.

至少,这可能会导致手写字符串的混乱和微妙的错误(你可能会认为unicode字符串不属于代码体)

但是更严重的问题和我面临的问题是自动生成的代码.似乎没有任何方式来表达这一点:{'x', 'y', 0x588, 'b', 'l', 'a' }作为一个文字字符串,而不是以十六进制表示形式编写整个字符串,这是浪费和不可读的.

想办法解决这个问题吗?
语言表达的意义是什么?

c c++ string hex literals

8
推荐指数
1
解决办法
2276
查看次数

使用GNU Libc编译并在Linux上运行eglibc的危险?

我有一个可执行文件,几乎只依赖于libc.ldd的输出是:

libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b53156b9000)
libutil.so.1 => /lib64/libutil.so.1 (0x00002b53158d5000)
librt.so.1 => /lib64/librt.so.1 (0x00002b5315ad8000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002b5315ce2000)
libm.so.6 => /lib64/libm.so.6 (0x00002b5315ee6000)
libc.so.6 => /lib64/libc.so.6 (0x00002b5316169000)
/lib64/ld-linux-x86-64.so.2 (0x0000003a06600000)
Run Code Online (Sandbox Code Playgroud)

我已经编译了这个和旧的CentOS 6.运行/lib64/libc.so.6说:

GNU C Library stable release version 2.5, by Roland McGrath et al.
...
Run Code Online (Sandbox Code Playgroud)

在任何其他版本的linux上运行此可执行文件有多安全?具体来说,在Ubuntu和Debian机器上运行是否安全eglibc?我编译的可执行文件似乎在12.04 LTS上正常运行但是我可以相信这没有微妙的错误并且还运行在这些发行版的其他版本上吗?

linux ubuntu libc eglibc

8
推荐指数
2
解决办法
984
查看次数