草庐IT

windows - 在 Windows/D3D 中检测 .png alpha channel

我正在使用D3DXCreateTextureFromFile()从.png加载纹理。我的程序如何知道图像文件是否包含alphachannel? 最佳答案 只需检查文件即可做到这一点。一个PNG文件包括:一个文件头一个或多个“block”文件头总是8个字节,应该跳过。每个block以4个字节开始,指示其长度,4个字节指示其类型。第一个block应始终为13个字节,类型为IHDR。这包含有关图像的信息。header中的第十个字节包含您要查找的确切信息。如果PNG文件是RGBA,它将等于6。可以找到更多信息here.

windows - 在配备 GeForce 960M 的笔记本电脑上初始化 D3D12 调试接口(interface)失败

当我尝试使用标志DXGI_CREATE_FACTORY_DEBUG调用D3D12GetDebugInterface或CreateDXGIFactory2时,调用在我的笔记本电脑上失败,但在我的台式机上却没有。其他调用在笔记本电脑上运行良好,我可以渲染东西——我只是无法初始化调试层。桌面有一个老式的GeForce650Ti,笔记本电脑是戴尔XPS15笔记本电脑(最新一代),它有一个GeForceGTX960M。两者都有最新的驱动程序(361.43)。有什么想法可能会出错吗?我在NVIDIA上发布了devtalkforum首先,但交叉发布到stackoverflow,因为NVIDIA官方论

c++ - Windows 8 SDK 中的 d3dx11.h

前言:我正在用VS2013做一个项目我试着#include但没有找到。我做了一些搜索,找到了这句话D3DXisnotconsideredthecanonicalAPIforusingDirect3DinWindows8andthereforeisn'tincludedwiththecorrespondingWindowsSDK.InvestigatealternatesolutionsforworkingwiththeDirect3DAPI.来自thispage然后我又做了一些搜索,找到了thisSOquestion我尝试了答案,但它最终打破了所有包含。是的,我已经做了一些搜索问题:你

windows - Windows :D3D Compiler DLL (\third_party\angle\src) 上的 Chromium 构建失败

我已按照此question中提到的相同步骤进行操作.我设置的一些额外标志获得专有FFMPEG编解码器。它每次都失败,并带有以下日志。[233/19712]ACTIONCopyingD3DCompilerDLL...FAILED:F:\Chrome\depot_tools\python276_bin\python.exegyp-win-toolaction-wrapperenvironment.x86copy_compiler_dll_target_copy_dll_a30e198148542d4bce19a5c818c6884f..rsp..\..\third_party\angle\

Windows 8 支持 d3d8.dll 吗?

请问各位Windows8是否支持d3d8.dll文件?我听说Windows8呈现的图形与任何其他版本的Windows不同。从而使d3d8.dll对Windows8无用,并在运行游戏时导致崩溃。这是因为Windows8具有触摸屏功能。这是真的吗?如果是的话,我将如何为我的游戏修复它,因为我需要d3d8.dll来修复“CPUspeedhack”,但同时我想让它兼容适用于所有Windows版本。 最佳答案 Windows对特定服务或功能的支持比提供或不提供某些DLL更复杂,所以问题首先是不正确的。如果您的应用程序正在使用Windows8中

windows - 传递给 D3DCompile2 的 "secondary data"是什么?

随着VisualStudio2012的发布,Microsoft添加了D3DCompile2API,新版本D3DCompile.唯一的区别是D3DCompile2需要一些与某些“辅助数据”相关的附加参数。文档中没有讨论这些数据的性质,谷歌搜索也没有找到任何相关信息。D3DCompile2接受的“辅助数据”是什么,它可能来自哪里以及它的用途是什么? 最佳答案 它的存在是为了让两个不同的DirectCompute着色器使用完全相同的UAV对齐。这有点像hack,所以忽略它,传递nullptr/0,然后继续:)我已经提交了一个错误以确保MS

windows - d3dx 库如何将纹理保存到文件中?

当使用函数:D3DXSaveTextureToFile并传入D3DXIFF_BMP来创建bmp时,我注意到这些值似乎是估计值而不是具体给出。如果我错了请纠正我,但是浮点纹理可以在任何给定的纹素中存储任何float,这会使它超出卡在rgb(255,255,255,255)之间的BMP的范围,所以看起来函数是什么所做的只是获取纹理的最高值和最低值,并在该范围内对其进行归一化。所以我的问题是:是否可以完全按照内存中的值获取值?包括当颜色超出计算机显示器的光谱范围时? 最佳答案 不要使用BMP。使用支持所需数据类型的格式。对于DX纹理,似乎

c - 用 GDI 绘制 opengl/D3D?

我想知道是否可以使用GDI在opengl/direct3D表面上绘制?如果是这样,应该怎么做?我问的原因是因为我正在编写一个简单的应用程序来在游戏中绘制一些东西。这些东西都是2D或文本,例如帧率信息、自定义十字准线、时钟等。我知道最好的方法是Hook并使用渲染器/游戏native使用的任何内容,无论是opengl还是direct3d,但我正在查看GDI,因为AFAIKopengl和D3D都位于我正在使用的设备上下文中希望可以用GDI画出来。 最佳答案 你通常不能直接这样做。理论上,当且仅当OpenGL/DirectX绘图是使用单缓冲

c++ - D3D11CreateDeviceAndSwapChain 未解析的外部

这完全让我发疯。当我编译我的程序时,我收到以下错误消息:错误LNK2019:无法解析的外部符号_D3D11CreateDeviceAndSwapChain@48我知道我拥有所有正确的lib/和include目录(x86),并且我已经将问题追踪到这样一个事实:如果我转到定义(F12),我会得到两个符号,一个用于DirectXSDK安装目录,一个位于“c:\ProgramFiles(x86)\WindowsKits\8.0\Include\um”。对于我的生活,我不知道该做什么。我已经遍历了所有包含/排除目录,但无法解析它,而且我不知道该怎么做。谁能帮帮我? 最

python - wx.Gauge在Windows中无法更新超过25%,在Linux中有效

我似乎对wxPython和跨平台兼容性没有什么麻烦:(我有下面的功能。用户单击按钮时会调用它,它会执行一些工作,而这可能需要一段时间,在此过程中状态栏会显示进度表。defGo(self,event):progress=0self.statbar.setprogress(progress)self.Update()#...foriinrange(1,numwords+1):progress=int(((float(i)/float(numwords))*100)-1)self.wrdlst.Append(words.next())self.statbar.setprogress(prog