草庐IT

GL_UNSIGNED_BYTE

全部标签

c++ - 在 C 中转换为 unsigned char

我面临以下问题:当尝试转换为unsignedchar时,我得到了意外的值。我正在使用的代码:unsignedcharMyVal1=((0xF1E3&&0xff00)>>8);unsignedcharMyVal2=(unsignedchar)((0xF1E3&&0xff00)>>8);unsignedcharMyVal3=(unsignedchar)((0xF1E3&&0xff));我将所有三个变量存储在一个数组中。我得到的输出(查看数组中的值;数组是无符号字符数组):0x000x000x01当我期待的时候:0xF10xF10xE3有人可以帮助我解决我做错了什么吗?

c++ - g++ 警告 : comparison of unsigned expression < 0 is always false

为了编译我的C++代码,我使用了-W标志,这会导致警告:warning:comparisonofunsignedexpression我认为这被认为是一个错误并已在GCC4.3版本中修复,但我使用的是GCC4.1这里明显有问题的代码:voidFieldGroup::generateCreateMessage(constApiEvent::GroupData&data,omsgstream&result)const{dblog=data.fields.length()){ostringstreambuf;buf警告我得到:dbtempl.cpp:Inmemberfunction‘voidE

c++ - GL_POINTS 在粒子模拟中相互遮挡

我有一个火灾模拟,包含大量带纹理的GL_POINTS。每个粒子都有一个透明的背景,当从特定角度面对火焰时,混合工作正常。然而,从其他角度查看它会显示背景,这些背景应该是透明的,遮挡了在其他人后面渲染的粒子。见下图。如您所见,粒子的路径上似乎有很多黑框。我怎样才能避免这种情况?我使用的混合函数是GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA。使用GL_ONE作为glBlendFunc的第二个参数给出非常相似的结果。 最佳答案 http://www.opengl-tutorial.org/intermediate

c++ - 未声明的标识符 'gl_Position'

我正在训练用cpp做opengl的东西,但是我的程序有一个错误:/(vertexShader)这是顶点着色器的代码:voidmain(void){gl_Position=gl_Vertex;}这里有调用着色器的主cpp文件:#include#include#includestaticchar*readFile(constchar*filename){//OpenthefileFILE*fp=fopen(filename,"rb");//Movethefilepointertotheendofthefileanddetermingthelengthfseek(fp,0,SEEK_END)

c++ - 为什么 UuidFromString 函数请求非常量指针指向 unsigned char?

我不知道为什么UuidFromString函数需要非常量指向无符号字符的指针。为什么不用constchar*代替呢?我的想法是不需要修改第一个参数所指出的数据。 最佳答案 UuidFromString专为COM/DCOM而设计。unsignedchar是为了防止需要检查负数char值(默认char是signed,这意味着值的范围是[-128,127]-因为这个字符串应该是ANSI字符,这是避免条件检查的一种廉价方法)。它的姊妹函数(UuidToString)确实需要一个const输入参数。我在文档中看不到关于为什么UuidFromS

c++ - Size of the Byte 是否可以大于 octet 8 bits

我正在浏览http://www.parashift.com/c++-faq/index.html在那里我发现字节也可以是64位http://www.parashift.com/c++-faq/very-large-bytes.html.一个字节的那么多存储容量有什么用? 最佳答案 重点不在于大字节“本身”的用处,而在于,对于标准而言,字节是系统上的最小可寻址数量1;如果系统无法以小于64位的单位寻址其内存,则char将为64位。显然,在现代通用计算机上几乎不可能找到这种奇怪的东西,这些奇怪的东西出现在非常专业的硬件上(我听说DSP特

c++ - 将 python 列表包装为 unsigned char*

编辑:大家好!!我目前正在尝试从Python访问C++函数,当我尝试将Python列表作为参数传递给函数时遇到了问题。这是我试图访问的C++函数定义(用于向PC/SC阅读器发送命令):SRpdu*SendAPDU(unsignedintuiAPDU,//CommandunsignedintucLE,//DataexpectedforresponseunsignedintucLC,//Sizeofdatabufferunsignedchar*pucDataBuf=0);//databuffer我的目标是像下面的示例一样从python调用此函数。目标是将列表[1,2,3]转换为unsign

c++ - wchar_t 与 unsigned short 冲突

我正在将我们的库更新到较新的版本,但遇到了编译错误:ClassName&ReturnClass::FuncName(wchar_t*,size_t)':memberfunctionalreadydefinedordeclared然而它之前是这样定义的:ClassName&ReturnClass::FuncName(unsignedshort*,size_t)'我们将wchar_t作为unsignedshort的typedef,这似乎是导致问题的原因。我曾尝试使用编译器选项wchar_t,但是当它看到typedef时,会导致库中出现大量错误。我正在使用nmake在Windows和MSDE

C++ : subtracting unsigned values is unsigned

这个问题在这里已经有了答案:IssubtractinglargerunsignedvaluefromsmallerinC++undefinedbehaviour?(2个答案)关闭3年前。在C++中,编译器提醒我减去无符号值是无符号的,因此调用abs()是没有意义的:uint64_ta,b;if(std::abs(a-b)>10){std::cout好的,我知道减法就是加法,而且我知道在我的实例中数字将小于2^63,所以我将static_cast转换为int64_t。但是调用abs的目的是为了避免写if(a-b>10||b-a>10){std::cout有没有更惯用的方法来做到这一点?

c++ - OpenGL 使用带球体的 GL_STENCIL

我正在使用OpenGL并试图创建一个具有反射表面的球体。我有它反射(reflect),但反射(reflect)不正确。反射中的物体应该根据表面的曲线弯曲和变形,而我只得到一个直线反射。我没有太多使用GL_STENCIL,所以非常感谢帮助。我提供了一些代码,例如球体的创建和绘制方法。如果有人需要更多,请告诉我。创作:sphere=gluNewQuadric();gluQuadricDrawStyle(sphere,GLU_FILL);gluQuadricNormals(sphere,GLU_SMOOTH);gluSphere(sphere,1,100,100);gluDeleteQuad