小编Ken*_*Ken的帖子

在线性与非线性RGB空间中处理颜色时有哪些实际差异?

线性RGB空间的基本属性是什么?非线性RGB空间的基本属性是什么?在谈论这8个(或更多)位中每个通道内的值时,会发生什么变化?

在OpenGL中,颜色是3 + 1值,我的意思是RGB + alpha,每个通道保留8位,这是我清楚得到的部分.

但是当涉及到伽马校正时,我无法得到在非线性RGB空间中工作的效果.

由于我知道如何在图形软件中使用曲线进行照片编辑,我的解释是,在线性RGB空间中,您可以按原样获取值,不需要操作和附加数学函数,而是在每个非线性时通道通常随着经典的幂函数行为而演变.

即使我把这个解释作为真实的解释,我仍然没有得到真正的线性空间,因为在计算之后所有的非线性RGB空间变得线性,最重要的是我没有得到非零的部分 - 线性色彩空间更适合人眼,因为最终所有RGB空间都是线性的,我所理解的.

graphics rgb colors color-coding color-space

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

C中的#define有三个点

#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "native-activity", __VA_ARGS__))
#define LOGW(...) ((void)__android_log_print(ANDROID_LOG_WARN, "native-activity", __VA_ARGS__))
Run Code Online (Sandbox Code Playgroud)

这是这两个宏的定义; 在后面的代码LOGI,并LOGW使用这种方式

LOGI("accelerometer: x=%f y=%f z=%f",
                                event.acceleration.x, event.acceleration.y,
                                event.acceleration.z);
Run Code Online (Sandbox Code Playgroud)

就这样

LOGW("Unable to eglMakeCurrent");
Run Code Online (Sandbox Code Playgroud)

因为我试图避免复杂的宏,#define一般来说,我无法得到这个宏实际意味着什么.这里的3点符号有什么作用?这#define在代码后面有什么变化?

显然我知道3个点用于表示和无限量的参数,但我不知道如何阅读这种情况.

c label notation c-preprocessor variadic-macros

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

valgrind的意思是"跳转到无效地址"这里?

valgrind --leak-check=full ./CH02_HelloTriangle 
==11404== Memcheck, a memory error detector
==11404== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==11404== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==11404== Command: ./CH02_HelloTriangle
==11404== 
==11404== Jump to the invalid address stated on the next line
==11404==    at 0x0: ???
==11404==    by 0x6F9271A: ??? (in /usr/lib/fglrx/dri/fglrx_dri.so)
==11404==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==11404== 
==11404== 
==11404== Process terminating with default action of signal 11 (SIGSEGV)
==11404== …
Run Code Online (Sandbox Code Playgroud)

valgrind gpu ati opengl-es-2.0 amd-processor

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

位置无关代码 (PIC) 有何作用?

有人可以解释为什么我应该对编译位置无关的代码感兴趣,以及为什么我应该避免它?

c compilation

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

用于检索 C++ 代码库中的函数和方法列表的工具

考虑到基于 C++ 的源代码,我正在寻找一种可以输出带/不带接口的纯文本方法列表的工具,这意味着 2 个选项,只有方法的名称或完整的接口签名。

我也想将此应用于 C 中的源代码。

谢谢。

c++ methods list

6
推荐指数
2
解决办法
1680
查看次数

为什么不在C中使用typedef作为结构?

我正在研究用于ARM低功耗设备的C语言应用程序,我首先要使用这段代码

struct state {
    float position;
    int dummy;
};
Run Code Online (Sandbox Code Playgroud)

注意这个结构没有定义一个新类型,我也注意到稍后在代码中这个结构就像这样使用了

struct state mystate;
Run Code Online (Sandbox Code Playgroud)

这是奇怪的,对我来说不方便,不灵活,还有一个额外无用的关键字,我可以轻松避免只使用typedef结构.

这是一个对于此应用程序的业务逻辑至关重要的结构,并且在源代码中也经常使用.

没有使用typedef结构最终用作类型的特殊原因?

c struct typedef

5
推荐指数
3
解决办法
3783
查看次数

在C/C++应用程序中用于嵌入式SQL数据库的PostgreSQL的替代方案

搜索后似乎是唯一一个免费的SQL数据库,可以嵌入到C/C++应用程序中,是PostgreSQL.

还有其他具有许可许可的解决方案吗?在C/C++中从头开始写这个有多难,所以我可以编写自己的东西?

c c++ sql database

0
推荐指数
1
解决办法
1110
查看次数