我研究了DirectX 9和DirectX 11的手册,并在那里使用了C++,我想知道C中是否有DirectX支持?

我已经很好地学习了C语言,我想试着在上面写一个小的渲染器.我不是很喜欢OpenGL,DirectX对我来说更有吸引力.

推荐答案

can使用的是C语言中的DirectX COM接口,但这种体验通常不太愉快,因为它需要很多宏.COM接口很好地映射到C++抽象类和单继承层次 struct .它也没有经过很好的测试,因为DirectX的所有用户基本上都使用C++,而不是C.支持基本上是MIDL编译器为C提供的任何遗留行为.

您不需要了解很多现代的C++就可以使用它们,因此您可以考虑将"C++作为更好的C"用于您的代码,然后利用更自然的COM接口行为.

C++相关问答推荐

数据包未从DPDK端口传输到内核端口

增加getaddrinfo返回的IP地址数量

struct 上的OpenMP缩减

调用mProtection将堆栈上的内存设置为只读,直接导致程序SIGSEGV

判断X宏的空性

如何在C++中处理按键

用gcc-msse 2编译的C程序包含AVX 1指令

cairo 剪辑区域是否存在多个矩形?

C语言中神秘的(我认为)缓冲区溢出

CS50判断灯泡运动的问题,判断时多出一个灯泡,但不在终端上

C语言中奇怪的输出打印数组

Valgrind用net_pton()抱怨

隐藏测试用例无法在c程序中计算位数.

当我将偏移量更改为任何非零值时,C中的mmap共享内存出现无效参数错误

区分MySQL C界面中的文本和BLOB字段

为什么一个在线编译器拒绝这个VLA代码,而本地的Apple clang却不拒绝;t?

如何使crc32的结果与cksum匹配?

'printf("%s", user_input)' 危险吗?

中位数和众数不正确

用于内存布局的size命令(文本、数据、bss)