小编nur*_*gan的帖子

Android中没有哪些最重要的POSIX功能?

我即将把一个大型的C++项目(某种类型的Library Project,它完全没有GUI)移植到Android上.它实际上是一个Visual C++项目,但它将作为中间步骤移植到Linux.我知道Android并不是一个"完整"的Linux,也没有声称提供所有POSIX功能,但我也知道在Android上有很多使用NDK的"POSIXish功能".

现在我的实际问题是:

与完整的POSIX集相比,哪些是Android上最不重要/最重要的功能?因此,在从Visual C++移植到Linux GCC时,我可以牢记这一点.

我试图在谷歌上找到一些东西,但没有发现任何真正有用的东西,只是在这里和那里有一些东西提到Android上有一些POSIX功能......

c++ linux android posix android-ndk

11
推荐指数
1
解决办法
4483
查看次数

在OpenGL中使用不同的着色器程序?

我必须在OpenGL中为不同的对象使用两个不同的着色器程序.

我发现我必须glUseProgram()在不同的着色器程序之间切换,但没有太多信息.

如果我有两个不同的着色器程序用于不同的对象,那么生成和绑定VAO和VBO如何为每个着色器程序(如何以及何时)工作?

c++ opengl glsl

4
推荐指数
1
解决办法
4076
查看次数

float变量不以任何方式进行比较

我在glsl片段着色器中做了一些东西,得到了一些奇怪的结果.我用于计算的代码现在应该并不真正相关,但对于某种"调试",我会根据变量所在的范围显示颜色.

编码为:(阴影是一个浮点数)

if(shadow == 0.0f)
{
    vFragColor = vec4(1.0f, 0.0f, 0.0f, 0.0f);
}
else if(shadow == 1.0f)
{
    vFragColor = vec4(0.0f, 1.0f, 0.0f, 0.0f);
}
else if(shadow < 1.0f && shadow > 0.0f)
{
    vFragColor = vec4(0.0f, 0.0f, 1.0f, 0.0f);
}
else if(shadow < 0.0f)
{
    vFragColor = vec4(1.0f, 0.0f, 1.0f, 0.0f);
}
else if(shadow > 1.0f)
{
    vFragColor = vec4(0.0f, 1.0f, 1.0f, 0.0f);
}
else
{
    vFragColor = vec4(1.0f, 1.0f, 1.0f, 0.0f);
}
Run Code Online (Sandbox Code Playgroud)

根据我的理解,不应该在最后输入"else",因为代码在检查任何可能的值之前.但是,对于我得到一些奇怪结果的区域,我想做那种"调试",代码进入"else"语句.

有谁知道这会怎么样?我根本不明白这一点......

opengl floating-point glsl

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

标签 统计

c++ ×2

glsl ×2

opengl ×2

android ×1

android-ndk ×1

floating-point ×1

linux ×1

posix ×1