草庐IT

Graphics

全部标签

c++ - 图形分析

我有一个应用程序下降到10fps左右。我使用xperf对其进行了分析,结果显示我的应用仅使用了20%的CPU,而我的所有方法都没有使用超过预期的20%。这似乎表明fps的大幅下降是因为显卡无法跟上渲染帧,导致我的程序在catch时停止......有没有什么方法可以分析显卡正在做什么,并找出我的程序告诉它做什么,这会减慢它的速度,以便我可以尝试提高帧速率? 最佳答案 要调试/分析图形,请尝试NvidiaPerfHUDNVIDIAPerfHUDisapowerfulreal-timeperformanceanalysistoolforD

c++ - glGenBuffers - 释放内存?

当我使用glGenBuffers创建一个带有指向它的指针的VBO时,我(认为)正在分配内存。对glGenBuffers的后续调用应该返回不同的指针,但是之前分配的内存呢?在Nehe示例中,我没有看到“空闲内存”调用......我读到openGL是一种“状态机”,这是否意味着如果我的initializeBuffers()函数被调用多次我不会需要释放任何东西并“按原样”使用glGenBuffers吗? 最佳答案 对于你做的任何glGenBuffers调用,你必须做相应的glDeleteBuffers打电话。请注意,您传递给glGenBu

c++ - OpenGL glMatrixMode 帮助

我开始研究OpenGL的一些东西,我看到了很多调用glMatrixMode函数的例子。根据我收集到的信息,将其设置为GL_MODELVIEW或GL_PROJECTION(等)将激活该特定变换矩阵,并且所有后续调用矩阵变换函数(glTranslatef、glPushMatrix、glLoadIdentity、glLoadMatrix等)将仅影响事件矩阵.我不明白的是为什么有3个(在某些情况下是4个)不同的矩阵?我应该使用哪一个?(我可能会得到很多“使用着色器”,但我不能。受学校限制......)我应该什么时候切换并激活不同的矩阵?与只使用一个相比,使用所有这些有什么好处?感谢您的帮助:)

c++ - 如何从凸形中形成凹形?

我试图绕过只能在SFMLc++库中形成凸形的规则。TodothisI'mplanningontestinggivenvertices,andifconcave,splittingtheverticesintogroups,testingeachgroups'concaveness,andrepeatinguntilafullsetofconcaveshapesresultsthatlookjustliketheoriginalshapewhenputtogether我想知道的是...测试形状凹度的方程式是什么:它是什么以及它是如何工作的?我如何拆分凹形的顶点,以便最终由尽可能少的凸形形

c++ - 是否有一个简单的 C++ 库可以绘制到屏幕上?

我刚刚开始使用C++编程,我想尝试用C++创建一个太空入侵者克隆,我想避免使用游戏库和可以解决很多问题的东西(比如游戏循环和vector数学等))所以我可以自己解决这些问题,但是,我不知道如何开始将内容绘制到屏幕上。我想知道是否有一个好的库让我可以简单地让自己在屏幕上画线或图形,或者我是否可以在不使用库的情况下做到这一点?如果有任何建议,我将不胜感激,谢谢。 最佳答案 我推荐Allegro或SDL,尽管它们大多是2D:快板:http://alleg.sourceforge.net/SDL:http://www.libsdl.org/

c++ - 在 opencv (imwrite) 上压缩图像。如何显式设置压缩因子?

我想知道是否有一种方法可以在opencv上压缩图像时轻松指定压缩因子,而无需声明虚拟vector。如果我声明一个vectorp(类似于thisdiscussion),但只包含2个项目,这是imwrite需要的,我可以调用:vectorp(2);p[0]=CV_IMWRITE_JPEG_QUALITY;p[1]=50;//compressionfactorimwrite("compressed.jpg",img,p);以上工作正常。但是,我想在一个循环中用多个压缩因子压缩同一张图像。有没有办法显式地将参数传递给imwrite?像这样的东西:imwrite("compressed.jpg"

c++ - blender :不可能的立方体

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestion我正在从事一个图形项目,试图在3D中创建一个不可能的立方体。一个不可能的立方体看起来像这样:这背后的技巧是两条被“切割”的边缘和一张从特定角度拍摄的照片,给人一种不可能的错觉。好吧,我正在尝试制作这个,但不是静态图像,我希望能够对其进行动画处理(旋转)以保持不可能的属性。我已经成功地在blender中制作了一个立方体,您可以在下面的屏幕截图中看到:我想听听您对如何达到预期效果的建议。一个想法是

c++ - 如何在 OpenCV 中使用 16 位灰度?

我找不到这些问题的答案:我可以用OpenCV显示16位灰度图吗?我尝试了imshow(),但OpenCV创建的窗口上没有任何显示。如何将16位灰度图片转换为B5G6R5图片?为了存储这个结构,我应该用什么参数创建cv::Mat?我试过cv::cvtColor(m_cvTmp,tmp,CV_GRAY2BGR565)但这个函数一直在崩溃。documentationonmiscellaneousimagetransformations不告诉答案。PS:我要处理的图片已经在内存中了。 最佳答案 根据imshow的文档,它会自动将16位灰度缩

c++ - 使用 glFrustum 创建拼接场景

我有一个程序,可以根据用户的位置在屏幕上渲染场景。当用户改变位置时,平截头体改变以提供离轴投影。我想利用该技术在三个不同的显示器上工作,将一个更大的场景拼接在一起,具有以下类型:想象一下在三个显示器上呈现的大型真实世界场景。这三个显示器应该显示场景,因为它会根据用户的位置在每个显示器上改变视角。我可以用一个显示器根据用户的位置渲染场景,但无法想到在三个屏幕上工作的方法。我创建的类离轴投影基本上执行以下操作:customCam::project(){pushMatrices();glMatrixMode(GL_PROJECTION);glLoadIdentity();glFrustum(

c++ - 简化三次贝塞尔路径?

我正在尝试实现类似于Adob​​eIllustrator使用画笔工具所做的事情。它正确地分析和简化了路径,包括它的贝塞尔曲线图柄。我实现了Ramer–Douglas–Peucker_algorithm但是,它最终并不是我真正需要的。它适用于线段,但不考虑贝塞尔曲线图柄。有没有一种算法可以像这个算法一样做,但考虑到三次贝塞尔handle?这个的问题是曲线可能成一定角度,但算法只能看到一条直线。谢谢 最佳答案 您可能想要探索贝塞尔曲线的最小二乘法拟合。这是onethread和apdf这可能会有帮助..几年前我做过这种事情,并找到了一个G