小编kam*_*iro的帖子

写入深度缓冲区而不在OpenGL中进行深度测试(非着色器)

在OpenGL中,是否有可能绘制一系列不检查深度的多边形(因此它们将始终绘制在其前面绘制的其他多边形的前面,关于它们的z位置)

但同时,他们仍然写入深度缓冲区?

我想这可以使用着色器,但是现在我无法访问它.

opengl

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

在运行时生成c/c ++程序的动态调用图

如果要想象一个程序的运行,我想一个人可以从获取程序的调用图开始.

但是如何在运行时获得c/c ++程序的调用图?

编辑:说明,我目前在linux上运行,使用g ++,但我想如果我使用不同的平台,我也对解决方案感到好奇.

c c++ call-graph

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

最安全的方法来更改项目中的变量名称

所以我自己一直在做一个相对较大的项目,我已经意识到之前的一些变量名称是......不太理想.

但是如何轻松地更改项目中的变量名称?是否有这样的工具可以通过项目目录,解析所有文件,然后将变量名称替换为所需的名称?它必须足够聪明才能理解我想象的语言.

我在考虑使用regexp(linux上的sed/awk?)工具来替换变量名,但有很多次我的特定变量也作为字符串的一部分包含在内.

还有关于在c ++命名空间上更改内容的问题,因为我的项目中实际上有两个共享相同名称的类,但它们位于不同的名称空间中.

我记得visual studio能够做到这一点,但是在linux上做这个最安全,最优雅的方法是什么?

c++ refactoring coding-style variable-names

7
推荐指数
2
解决办法
2937
查看次数

字符串化openGL枚举

因此,很多时候我需要知道某些opengl操作返回的枚举是什么,在终端上打印它们以查看正在发生的事情.

目前似乎没有任何类型的函数可用于对枚举进行字符串化,因此我正在考虑直接使用gl.h(实际上我现在要使用libglew的标题),抓住#defines并创建一个巨大的转换表,为方便起见.

有没有更好的方法,你将如何处理必须将东西移植到OpenGL ES?

opengl opengl-es

7
推荐指数
1
解决办法
3665
查看次数

用于c/c ++的交互式控制台编程?

所以我编写了一个小程序,用户接收命令,然后显示输出(连接到服务器后).它是各种各样的交互式控制台.

但是,在使用mongodb和redis命令行客户端(在控制台/终端上以交互方式工作)之后,似乎必须有某个库提供功能,例如记录用户输入,接受上/下按键以浏览命令历史,以及制表符完成框架(不确定那个如何工作,但是是的).

什么是理想的图书馆用于这样的事情?

c c++ linux console-application

7
推荐指数
1
解决办法
5051
查看次数

GLSL几何着色器和通用顶点属性

所以我现在已经尝试了一段时间,将顶点属性数组传递给几何着色器.它是一个float数组(其中每个顶点的属性只是一个浮点值)

现在,当我把它放在几何着色器中时:

attribute float nodesizes;
Run Code Online (Sandbox Code Playgroud)

着色器编译器抱怨:

OpenGL requires geometry inputs to be arrays
Run Code Online (Sandbox Code Playgroud)

我如何完全传递它?

另外,这是我的顶点属性的代码:

glBindAttribLocation(programid, 1, "nodesizes");
glVertexAttribPointer(1, 1, GL_FLOAT, GL_FALSE, 0, array);
glEnableVertexAttribArray(1);
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?

glsl geometry-shader

6
推荐指数
1
解决办法
4433
查看次数

c ++和注入的基本名称

以下代码无法在gcc中编译:

namespace One{
   class A{
   };
};

namespace Two{
   class A{
      public:
         void what(){
            cout << "Two::A says what!" << endl;
         }
   };

   class B : public One::A{
      public:
         B(){
            A xx;
            xx.what();
         }
   };

};
Run Code Online (Sandbox Code Playgroud)

它给出了:

gccbug.cpp: In constructor ‘Two::B::B()’:
gccbug.cpp:23: error: ‘class One::A’ has no member named ‘what’
Run Code Online (Sandbox Code Playgroud)

现在,我被告知这是正确的行为(由于注入的基本名称One :: A使A引用One :: A).但是,这段代码在C#中编译(好吧,在更改了一些内容之后),所以这似乎是c ++特定的.

我想知道的是......为什么?将基本名称"One :: A"注入"A"是否有特定目的?

c++ inheritance namespaces

6
推荐指数
1
解决办法
220
查看次数

将SSL集成到使用BSD套接字的程序中

我有一个TCP网络库,它实现了一堆协议(redis,http等),它们是使用BSD套接字实现的.

许多代码使用select()和其他用于BSD套接字的函数.我是否正确地认为这不适用于SSL套接字?或者他们会按原样工作吗?

我只是想知道SSL和BSD套接字是否如此不同以至于它们需要完全不同的实现方法.

c sockets ssl openssl

6
推荐指数
1
解决办法
3356
查看次数

英语动词列表及其时态、各种形式等

是否有一个巨大的 CSV/XML 或任何包含英语动词及其变体列表的文件(例如,sell -> sell、sale、sell、seller、sellee)?

我想这对 NLP 系统会有用,但似乎没有任何地方列出,或者它可能是我糟糕的谷歌搜索技能。有没有人有其他线索?

nlp

6
推荐指数
1
解决办法
2958
查看次数

iOS 中发布版本的正确“剥离调试符号”设置是什么?

我在 iOS 上收到了一堆我的(主要是 C++)应用程序的崩溃日志。我的问题是我似乎无法正确地表示这些崩溃报告。

在 iOS 上剥离调试符号以进行发布的“正确”设置是什么?我知道您想要删除调试符号,这样应用程序的下载大小就不会大得离谱。

但问题是,它似乎使崩溃报告几乎无法读取。

xcode 存档上的 dSYM 文件是否会被发送并最终由用户下载?

或者它只是为了将来的符号目的而保留(在我自己的机器上本地完成,在 xcode 上)?

debugging xcode debug-symbols ios

6
推荐指数
1
解决办法
6666
查看次数