小编gen*_*ult的帖子

关于不一致的dll链接

如何删除此链接警告?您可以看到导致此警告的代码段.

static AFX_EXTENSION_MODULE GuiCtrlsDLL = { NULL, NULL };
//bla bla
// Exported DLL initialization is run in context of running application
    extern "C" void WINAPI InitGuiCtrlsDLL()
    {
     // create a new CDynLinkLibrary for this app
      new CDynLinkLibrary(GuiCtrlsDLL);
     // nothing more to do
    }
Run Code Online (Sandbox Code Playgroud)

警告C4273:'InitGuiCtrlsDLL':不一致的dll链接

我还有导出和导入定义,例如:

#ifdef _GUICTRLS
   #define GUI_CTRLS_EXPORT __declspec(dllexport)
#else
   #define GUI_CTRLS_EXPORT  __declspec(dllimport)
#endif
Run Code Online (Sandbox Code Playgroud)

c++ dll warnings linkage

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

简单的3x3矩阵逆码(C++)

计算3x3矩阵逆的最简单方法是什么?

我只是在寻找一个简短的代码片段,它可以解决非奇异矩阵,可能使用Cramer的规则.它不需要高度优化.我更喜欢简单而不是速度.我宁愿不链接其他库.

c++ math matrix matrix-inverse

36
推荐指数
4
解决办法
10万
查看次数

如何使用数组初始化glm :: mat4?

我正在使用OpenGL数学库(glm.g-truc.net),并希望glm::mat4使用float-array 初始化a .

float aaa[16];
glm::mat4 bbb(aaa);
Run Code Online (Sandbox Code Playgroud)

这不起作用.

我想这个解决方案很简单,但我不知道怎么做.我找不到关于glm的好文档.我会很感激一些有用的链接.

c++ opengl math glm-math

36
推荐指数
3
解决办法
4万
查看次数

将任意三角形打包成有限的盒子?

我需要将三角形打包成一个盒子,尽可能合理,作为3D优化的一部分(我将使用不同纹理的片段填充到单个不同的纹理中,用于深度排序,因此纹理不会切换每一个新的三)

有这样做的算法吗?三角形本身可以制成可叠加的(可转换为直角,有效地使其成为盒填充算法),但我想尽可能避免这种情况,因为它会扭曲底层纹理艺术.

c++ opengl algorithm optimization

35
推荐指数
1
解决办法
933
查看次数

从高度图生成法线贴图?

我正在使用随机分形为视频游戏在程序上生成一些污垢.我已经使用中点位移算法生成了高度图并将其保存到纹理中.我有一些关于如何将其变成法线纹理的想法,但是一些反馈将非常受欢迎.

我的高度纹理目前是257 x 257灰度图像(高度值是为了可见性而缩放):

在此输入图像描述

我的想法是,图像的每个像素表示在256×256网格的格子坐标(因此,为什么有257 X 257的高度).这意味着坐标(i,j)处的法线由(i,j),(i,j + 1),(i + 1,j)和(i + 1,j + 1)处的高度确定. )(分别称为A,B,C和D).

因此,考虑到A,B,C和D的3D坐标,它是否有意义:

  1. 将四个分成两个三角形:ABC和BCD
  2. 通过叉积计算这两个面的法线
  3. 分为两个三角形:ACD和ABD
  4. 计算这两个面的法线
  5. 平均四个法线

......还是有一种我更容易丢失的方法?

c++ opengl graphics

34
推荐指数
4
解决办法
5万
查看次数

我在哪里可以找到一个不使用任何弃用功能的优秀在线OpenGL 3.0教程?

我刚刚购买了第五版的OpenGL SuperBible.我很高兴他们避免使用已弃用的功能,但他们的例子可以使用GLTools.GLTools提供了一系列有用的功能,用于渲染简单的3D对象和管理视图截头,相机和变换矩阵.

这一切都很棒,但提供的抽象隐藏了低级细节,我很难移动到我无法使用的代码GLTools- 例如,pyopengl.我在网上看到的绝大多数教程都使用了立即模式,我试图避免这种模式.那些使用glDrawArrays使用的glEnableClientState,这我也想避免的.

我正在寻找的是完全符合OpenGL 3.x的入门教程.如果这个订单太高了,也许洗衣清单很好的"起点"功能将是有序的.

opengl pyopengl deprecated opengl-3

33
推荐指数
1
解决办法
3万
查看次数

Android - 使用NDK的OpenGL ES 2.0教程?

我正在寻求OpenGL ES 2.0在Android 上学习,我发现的教程几乎都是使用的SDK with Java.我想使用本机代码,所以我想通过NDK来实现.我发现的唯一教程/示例就是样本NDK本身.

我在哪里可以找到一些NDK OpenGL ES 2.0教程?如果那里没有好的教程,是否可以使用Java OpenGL教程来学习如何在NDK中使用它?例如,方法是否将1:1从java映射到本机?

android opengl-es android-ndk

32
推荐指数
1
解决办法
2万
查看次数

WebGL如何工作?

我正在寻找对WebGL如何工作的深刻理解.我希望获得大多数人不太关心的知识水平,因为这些知识对于普通的WebGL程序员来说并不是必需的.例如,整个渲染系统的每个部分(浏览器,图形驱动程序等)在屏幕上获取图像时起什么作用?每个浏览器是否必须创建一个javascript/html引擎/环境才能在浏览器中运行WebGL?为什么Chrome与WebGL兼容?

那么,有什么好的资源可以入手?对于我想要的东西,kronos规范有点缺乏(从我看到的浏览它几分钟).我想要的主要是如何在浏览器中实现/实现,以及还需要在系统上进行哪些更改才能实现.

opengl-es webgl

30
推荐指数
2
解决办法
5110
查看次数

Android视频播放器使用NDK,OpenGL ES和FFmpeg

好的,这就是我到目前为止所拥有的.我在android上构建了FFmpeg并且能够很好地使用它.在从java端传递所选文件名后,我能够将视频加载到FFmpeg中.为了节省性能,我在NDK中编写视频播放器,而不是通过JNI将帧从FFmpeg传递到java.我想将视频中的帧发送到OpenGL表面.我无法弄清楚如何获取每帧视频并将其渲染到OpenGL表面上.我一直坚持试图解决这个问题几个星期,现在没有运气.希望有人可以指出我正确的方向.

谢谢!

android ffmpeg opengl-es android-ndk android-video-player

28
推荐指数
1
解决办法
3万
查看次数

在iOS中无法使用两种纹理

在我的iOS应用程序(针对iPad)中,我想使用非幂(NPT)纹理.我的GL_VERSION查询返回"OpenGL ES 2.0 APPLE".根据规范,它应该支持NPT纹理,但是一个简单的测试表明我需要在纹理显示之前将纹理大小调整为2 ^ N.

Apple不支持完整的ES 2.0规范吗?我在哪里可以找到不支持的文档?

我使用的是Xcode 4.3.2和iOS 5.1.

编辑:

仔细研究ES 2.0.25规范(第3.8.2节),可以发现NPOT可以满足几个条件.基本上如果我使用下面的设置,我可以加载NPOT纹理:

// use linear filetring
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); 
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
// clamp to edge
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
Run Code Online (Sandbox Code Playgroud)

我应该关闭它还是回答我自己的问题?

opengl-es ios

28
推荐指数
1
解决办法
8042
查看次数