directx相关内容
我有一个由点分布非常不均匀的多段线(3D点阵列)组成的对象路径。我需要使用时间间隔设置为10毫秒的计时器以恒速移动对象。 不均匀分布的点对人眼产生可变的速度。所以现在我需要决定如何处理这个长的3D点阵列。 我得到的第一个想法是将较长的部分细分为较小的部分。它工作得更好,但是在点拥挤的地方问题仍然存在。 在这些情况下最好的方法是什么?另一种方法是使用Ramer–Douglas–Peuc
..
我正在为计算着色器存储uint数组的方式而苦苦挣扎。 我有以下着色器代码(一个简单的极简主义示例来再现该问题): cbuffer TCstParams : register(b0) { int IntValue1; uint UIntArray[10]; //
..
我有点困惑,为什么可以将一个顶点缓冲区数组设置为活动状态,但只能将一个索引缓冲区设置为活动状态?那一个索引缓冲区可以对所有顶点缓冲区中的顶点进行寻址吗?如果是,我应该如何指定哪个索引属于哪个缓冲区? 我的另一个问题是,由于我使用的是索引三角形列表,因此索引数据与每个网格的顶点数据大小大致相同。我在考虑为每个顶点缓冲区创建一个索引缓冲区。我将动态添加网格,直到其中一个缓冲区耗尽,此时将创建另一对缓
..
ID3D12GraphicsCommandList接口继承自ID3D12CommandList。那么,如果我有一个ID3D12GraphicsCommandList对象,我如何获取相应的ID3D12CommandList对象? 类型转换是否有效? ID3D12GraphicsCommandList *gcl = ...; ID3D12CommandList *cl =
..
我将尝试将一个2D纹理从OpenCV::MAT渲染到DX11中的纹理以及战后的着色器资源。问题是,程序在Device::CreateTexture2D()上崩溃,我找不到原因。我研究了一整天,就是看不出有什么问题。 此外,问题似乎不是cv::mat作为资源,因为我在这里也尝试了这个示例:D3D11 CreateTexture2D in 32 bit format,将象棋示例作为纹理的资源...当
..
我有一个很小的物理程序,里面有大量大小和质量相等的球,它们在2D空间中反弹。我遇到的问题是,在大多数碰撞之后,动量会增加,尽管有时会减少。 public static void Collide(Ball b1, Ball b2) { Vector2 dist = b2.Position - b1.Position; float distance = dist.Length();
..
我正在尝试部分更新常量缓冲区(就像在OpenGL中一样),但总是收到奇怪的错误,因为我刚刚移植到DX11.1以实现常量缓冲区部分更新功能(我也支持它和CBOffting),这里是否遗漏了什么? void DX11UniformBuffer::Update(void * data, unsigned int offset, unsigned int size) { const D3D1
..
我正在试验单例模式,以便更容易地使用DirectX API的一些常用接口,但是我有一个似乎无法解决的问题。 这是我的定义: #include #include #include #pragma comment(lib, "d3d11.lib") #pragma comment(lib, "d3dx11.lib") #pra
..
我正在学习2012年的一个FLEEP旧教程。我遇到了一个减速带,此错误:成员声明中不允许使用限定名称。 我尝试更改SDK,在main.cpp文件中定义/声明类。所有这些都没有奏效。 这是我在中遇到错误的头文件。 #pragma once #include #include "d3d9.h" #include #include
..
作为我以前question的继续,我能够找到一种方法,在WinRT的Windows.Graphics.Capture的帮助下,在没有自己窗口的情况下捕获实时屏幕。我可以直接将注意力集中在特定的窗口句柄上,以获得实时捕获。现在,这个方法的问题是我不能应用像素着色器。具有相同要求但该问题的答案相同的问题Applying HLSL Pixel Shaders to Win32 Screen Captur
..
一个小背景:我正在尝试制作一个Windows(10)应用程序,使屏幕看起来像旧的CRT监视器、扫描线、模糊等等。我使用微软的这个官方screen capture demo作为起点:在这个阶段,我可以捕获一个窗口,并将其显示在一个新的鼠标直通窗口中,就像它是原始窗口一样。 我正在尝试使用CRT-Royale CRT shaders,它们通常被认为是最好的CRT着色器;它们以.cg格式提供。我用cg
..
我有一个基于 DirectX 10 的旧游戏引擎(有点),我一直计划迁移到 DX 11.我还刚刚安装了 Windows 8 和 VS 2013,并且在尝试运行这个旧项目时我'已经了解到 DirectX SDK 已被弃用,现在被替换为视窗 8 SDK.在这种情况下,我想知道更新到 DX 11 是否有意义,或者我应该尝试让我的引擎使用新的 Windows 8 SDK.在做出决定之前,我想知道几件事:
..
我正在尝试使用 QtQuick 2.0 创建一个透明窗口. 我可以创建一个像这样的透明小部件: class TransparentWidget : 公共 QWidget{上市:透明小部件(QWidget* 父级):QWidget(父){调整大小(QSize(500, 500));setAttribute(Qt::WA_TranslucentBackground);setWindowFlag
..
如果你将一个圆柱体细分为一个 8 面棱柱,根据它们的位置计算顶点法线(“平滑着色"),它看起来还不错. 如果您将一个圆锥体细分为一个 8 面金字塔,并根据它们的位置计算法线,您会卡在圆锥体的尖端(技术上是圆锥体的顶点,但我们称它为尖端以避免与网格顶点). 对于每个三角形面,您希望匹配两条边的法线.但是因为您只能在三角形的每个顶点指定一条法线,所以您可以匹配一条边或另一条边,但不能同时匹
..
有没有在 Java 中使用 DirectX 的简单方法?特别是 DirectX 的视频 API. 我知道 C# 可能是一个更自然的选择,但我想要做一些如此反常的事情有我不正当的理由. 解决方案 我不知道简单,但你总是可以使用 JNI 来加载 DirectX 库并调用方法. 使用 Swig 之类的东西,您可以自动生成大量代码. 但不确定这样的事情有多可行.
..
我不知道如何为 Visual Studio 2017 安装 Windows 10 SDK. 我下载并运行了 Windows 10 SDK 安装程序,它显示 请在 ....\Windows kits\10\WindowsSDK 中找到 winsdksetup.exe 以安装 Windows 软件开发工具包 - Windows 10.0.17134.12. 当我运行 winsdksetup
..
我正在学习一本名为:DirectX 11 的 3D 游戏编程简介 都是用VS2010写的.我想尝试使用VS2013...它是Windows桌面程序的示例项目 我有一个包含以下内容的程序(包括一些其他常用文件): color.fx //*************************************************************************
..
我想使用 DirectX 11 将我的前端或后端缓冲区的内容捕获到一个字节数组中,然后我可以将其用作纹理或用作创建文件的源.到目前为止,我有一个交换链设置、大量渲染和以下代码 - 我确保在调用 Present 后调用它们. ID3D11Texture2D* pSurface;HRESULT hr = m_swapChain->GetBuffer(0, __uuidof(ID3D11Texture
..
我想知道如何从代码中获取显卡型号/品牌,尤其是从 DirectX 9.0c(从 C++ 代码中). 解决方案 在运行时,可以查询设备型号和供应商: 在 OpenGL 中,使用命令 glGetString(GL_VENDOR) 或 GL_RENDERER 或 GL_VERSION 来获取您想要的信息. 在 DirectX 9 中,信息似乎在 Microsoft 配置系统中,并从设
..
我希望我的程序能够启动任何 Windows 游戏,并且在用户玩游戏时,在游戏窗口的某些部分间歇性地显示一些文本或图片.游戏可能处于窗口或全屏模式.从我从在线资源中了解到的情况来看,这可以使用支持覆盖的图形库并使用 Windows Hooks 来跟踪目标应用程序的窗口来完成.在这种情况下,我有一些问题. 叠加层会影响游戏的性能吗? 挂钩应用程序将如何影响性能? 有没有其他方法可以实现这一目
..