问题标签 [sgi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opengl - 是否有任何机器只能支持 OpenGL 1.0(甚至不是 1.1)?
最近我一直在为旧的 PowerPC Mac 开发一些 OpenGL,这意味着重温 OpenGL 1.x 时代。
回到 1.x 时代,1.1 似乎是最广泛的公分母。
但这让我开始思考:如果你的目标是 1.1,你会排除任何机器吗?还是所有支持 1.0 的机器最终都更新为也可以处理 1.1?
我猜也许一些非常早期的 SGI 硬件可能已经卡在 OpenGL 1.0 上?或者可能是一些非常早期的消费 3D 卡?
c++ - 这种模板部分专业化背后的意图是什么?
当我试图重构 SGI STL 源代码时,我看到了这段代码片段
用于检查相关函数签名类型的有效性。
这是我的问题:为什么 SGI 故意将 void 的情况专门化为返回类型?
我的测试代码可以正常通过编译(clang/llvm/x86_64),并正常运行。
如果我在理解原始代码或测试用例设计上犯了错误,请随时指出!
非常感谢。
问题已解决,但跟进:为什么我的测试用例可以处理返回 void 类型的情况?
c++ - 这个分配器是如何起到调试作用的呢?
当我阅读 SGI/STL 的源代码时,我注意到
这是一个调试模板。
我可以看到它确保分配的空间始终大于 8 字节,并且我还可以看到它通过 using 替换了从 __result 地址开始的内容,*(size_t*)__result = __n;
但我真的很困惑这样做的目的。
为什么分配空间然后用 __n 替换内容?为什么然后返回__result + (int) _S_extra;
并定义char* __real_p = (char*)__p - (int) _S_extra;
?请详细解释内存的功能void* allocate(size_t __n)
和void deallocate(void* __p, size_t __n)
工作方式。
源代码链接:https ://github.com/karottc/sgi-stl/blob/master/concept_checks.h
image-processing - INTA图像的批量转换
我有大量 INTA 格式的图像,这是一种旧的 SGI 标准。INTA 是具有 Alpha 通道的灰度图像。所有这些都需要转换为 TGA 文件。问题是 ImageMagick 和 PIL/Pillow 似乎都无法正确解析它们。ImageMagick 可以读取和导出它们,但似乎不理解 alpha 通道,并且 PIL 无法打开它们,并出现错误ValueError: Unsupported SGI image mode
。我发现成功读取它们的一件事是 GIMP:
一个理想的解决方案将是一个易于从脚本调用的解决方案。
作为参考,这里是有问题的图像之一(与屏幕截图中看到的相同):https ://www.dropbox.com/s/8hoppdgtuqxsy26/girder01.inta?dl=0