是否glGetString(GL_VERSION)
获取您的系统支持的最大版本,或者您当前环境的版本?
我知道您需要创建一个上下文才能glGetString()
工作,因此这让我想知道它是当前上下文还是最高可用上下文。
我正在阅读"最终的ANTLR4参考"一书,并决定在他们的计算器语法中添加几个关键字以帮助清除记忆.构建语法并编译生成的java代码可以正常工作,但是当我执行访问者代码时,我得到了错误:"line 6:0 extraneous input '$rem' expecting {<EOF>, '(', ID, INT, NEWLINE}"
对于'$clearmem'
第8行:0也是如此.
这是我的语法文件:
grammar LabeledExpr;
//Parser rules=================================
prog: kword+
| stat+
;
stat: expr endl # printExpr
| ID '=' expr endl # assign
| NEWLINE # blank
;
expr: expr op=('*'|'/') expr # MulDiv
| expr op=('+'|'-') expr # AddSub
| INT # int
| ID # id
| '(' expr ')' # parens
;
kword: '$clearmem' endl #clearMem
| '$rem' ID endl #remVar
;
endl: …
Run Code Online (Sandbox Code Playgroud) 使用C++(特别是GCC,应该更早地提出这个),我将原始纹理数据存储在RGBA格式的无符号字节数组中,每像素32位(每个颜色值8位,带Alpha,等等等等)向前...).问题是,我想编写一个函数,将原始数据作为一个Colors数组返回,其中Color是一个结构,定义如下:
struct Color
{
uint8 r;
uint8 g;
uint8 b;
uint8 a;
};
Run Code Online (Sandbox Code Playgroud)
加上函数和诸如此类的东西,但这些是结构中唯一的变量.我的想法是,由于每种颜色长度为4个字节,我可以以某种方式将原始字节数组转换为原始大小的1/4的Color数组(在数组的"长度"中,而不是绝对大小).我认为reinterpret_cast是我正在寻找的东西,但在谷歌搜索确认100%你可以将它转换为结构数组而不是只有一个结构后,我找不到任何东西.
所以我想我只是要求某人确认这确实是可能的reinterpret_cast
,或者是否有不同的演员或方式来做到这一点.谢谢.
编辑:我的措辞有点奇怪,所以作为一个任意的例子,我想以某种方式将16个无符号字节的数组转换为4种颜色的数组.
编辑:我也知道它有点晚了,但我似乎无法找到如何使用reinterpret_cast在特定位置将一小部分数组转换为单个结构,如果可能的话,而不复制到较小的数组和那样的铸造.因此,对此问题的任何帮助也将不胜感激.