问题标签 [directx]
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.
java - Java 上的 DirectX 可能吗?
有没有一种在 Java 中使用 DirectX 的简单方法?特别是 DirectX 的视频 API。
我知道 C# 可能是一个更自然的选择,但我想要做一些如此反常的事情有我不正当的理由。
c++ - 如何设置 Direct3D 纹理中单个像素的颜色?
我正在尝试在 Direct3D 中将 2D 图像绘制到屏幕上,我假设必须通过将纹理映射到投影以填充屏幕的矩形广告牌多边形来完成。(我不感兴趣或不能使用 Direct2D。)我在 SDK 中找到的所有纹理信息都描述了从文件加载位图并分配纹理以使用该位图,但我还没有找到一种操作方法逐像素位图的纹理。
我真正想要的是一个功能,例如
void TextureBitmap::SetBitmapPixel(int x, int y, DWORD color);
如果我不能直接在纹理对象中设置像素,我是否需要保留一个作为位图的 DWORD 数组,然后将纹理分配给每一帧?
最后,虽然我最初假设我将在 CPU 上执行此操作,但每个像素的颜色计算也可能在 GPU 上完成。是设置纹理中单个像素颜色的 HLSL 代码,还是像素着色器仅对修改显示像素有用?
谢谢。
visual-studio - Visual Studio 调试器输出 - 输出相同但格式不同(例如一个项目中的十进制输出,另一个项目中的十六进制输出)
我正在通过将一些 DirectX 代码重新实现到不同的项目中来学习一些 DirectX 编程,但是我确实发现调试器在两个项目(示例和我的项目)之间输出数据的方式似乎不同。
如果我这样做,在我的项目中:
并且让调试器输出宽度和高度,我得到十进制的结果,但是在directx示例中,结果是十六进制的(两者实际上都是准确的,当我将十六进制转换为十进制时,它似乎是合适的)。
另一个(稍微)次要的问题是调试器向我提供有关各种 DirectX 相关指针的信息的方式。例如,在我的项目中,当我停止执行并将鼠标移到指针上时,在 DirectX 示例中我得到了一些汉字、空指针和所有这些(纹理仍然有效并且 100% 工作),但是我没有得到那,实际上它没有提供关于指针的任何信息,除了它是 DirectX 基本类型(我的项目没有这样做)。
所以我只是想知道,为什么会这样,是否有任何调试选项可以让它们工作相同?
c++ - Microsoft 对象,Release() 函数返回值?
我很好奇,因为我在 MSDN 上找不到这个。我发现该Release()
函数存在于各种 COM 对象中,我显然应该使用这些对象来删除指针。但我不确定它到底返回了什么?我曾经认为它会返回仍然存在的对剩余对象的引用数,因此类似于:
显然会释放对该指针的所有引用吗?
还是我什么都没看到?
*注意我是从IDirect3DTexture9::Release()
函数的概念说的
directx - XNA/DirectX:你应该总是使用索引吗?
我正在为植被实现广告牌,其中广告牌当然是由两个三角形组成的单个四边形。顶点数据存储在顶点缓冲区中,但我应该为索引烦恼吗?我知道,当您使用索引时,就发送到显卡的顶点而言,地形之类的节省可能会很大,但是在广告牌上使用索引意味着我每个四边形将有 4 个顶点而不是 6 个,因为每个四边形完全与其他人分开。
是否有可能使用索引实际上会降低性能,因为存在额外的间接级别?还是根本没有任何意义?
我问这个是因为使用索引会使事情稍微复杂化,我很想知道我是否没有做额外的工作,只会让事情变慢(无论是在理论上还是在实践中实际上很明显)。
这是使用 XNA,但应该适用于 DirectX。
c# - Microsoft 是否正在恢复托管 DirectX?
今天看到微软公布0.85版本:
“用于 Microsoft® .NET Framework 的 Windows® API 代码包”
这个包是针对 Windows7 操作系统的,虽然大多数功能应该在 Vista 下工作。此包的功能之一是支持 DirectX 11。
知道几年前微软停止了 Managed DirectX 的开发,同时开发了 XNA Game Studio,很难看出这样做的目的。简化部署?也许 W7 桌面应用程序在很大程度上依赖于 DirectX?或者?
有人对这个复活的托管 DX 有什么好的评论吗?
windows - 在 3D 全屏应用程序上叠加
我想在第 3 方全屏 Windows 应用程序之上显示一些自定义图形。
你玩过 Steam 游戏吗?它有一个可执行文件 GameOverlayUI.exe,可让您从游戏中访问 Steam 窗口。(GUI 元素看起来是自定义绘制的,我不知道这是否有必要;但它们在游戏中看起来与在桌面上的完全一样。)它甚至可以“暗淡”游戏图形的背景。
我想知道如何编写这样的应用程序。
我也想知道解决方案的范围有多广。你能对所有 OpenGL 应用程序使用一种方法吗?对于所有 Direct3D 减去 DirectDraw 应用程序?对于所有全屏 Windows 应用程序?
我正在寻找更“现代”和通用的解决方案——覆盖命令提示符或 320x240 索引颜色应用程序不是问题。
编辑:一些澄清:全屏应用程序不是我的。它可以是任何东西。最有可能的是,这将是一个 3D 游戏。我想在游戏图形的顶部显示屏幕右下角的数字时钟。如果可能的话,我想避免诸如注入代码或调试进程之类的技巧。
windows - 窗口内的 DirectX 覆盖
我需要能够在屏幕上的任何位置设置覆盖图形区域(通过 DirectX/DirectDraw 方法),或者至少在窗口区域内使用它。任何人都能够做到这一点?
windows - 如何实现语音转换器?
我想写一个改变麦克风输入声音的应用程序,让它像机器人或一些有趣的人的声音。它必须支持将改变的声音发送到所有应用程序,如 IM 软件或游戏客户端。我应该采用哪种技术?Windows 波形 API?直连?音频驱动?
非常感谢!
c++ - DirectX 中 Photoshop 的“屏幕”模式
编辑:问题解决了!见帖子结尾。
如何在 DirectX 8 中实现 Photoshop 的“屏幕”混合模式?
信息,我在这个主题上找到了(http://www.ziggyware.com/readarticle.php?article_id=228):
现在我们已经完成了数学运算,我们只需设置混合模式:
我假设 DirectX 混合状态必须是:
这是对的吗?(我有一个错误的结果)
Photoshop结果:
http://img192.imageshack.us/img192/7015/photoshopf.jpg
我在 DirectX 中的结果:
http://img193.imageshack.us/img193/2969/directx.jpg
问题解决:公式不考虑图像 alpha,要修复它,您需要使图像背景为纯黑色,不透明度为 100%