草庐IT

QVector3D

全部标签

c++ - ID3D11DeviceContext::Map 性能低下

我正在使用桌面复制将屏幕内容复制到内存中的位图中。我收到桌面纹理,然后创建暂存纹理,使用CopyResource将桌面纹理复制到暂存纹理中,最后调用ID3D11DeviceContext::Map访问暂存纹理位和复制它们。与此处描述的方式几乎相同:https://stackoverflow.com/a/27283837/825318问题是Map调用需要花费大量时间-对于4K等大型显示分辨率,每次调用最多可能需要100毫秒,这高得令人无法接受,因为我需要确保30fps速度。有没有什么办法可以更快的获取贴图的内容?如果没有,有没有办法提供我自己的映射地址指针,以便系统将纹理数据复制到那里?

c++ - 在 direct3d 应用程序中呈现格式化文本

我需要呈现一些格式化的文本(颜色、不同的字体大小、下划线、粗体等),但我不确定如何去做。D3DXFont只允许一次呈现单一字体/大小/粗细/颜色/等的文本,我看不到一种实用的方法来“组合”对ID3DXFont::DrawText的多次调用来做这样的事情......我环顾四周,似乎没有任何现有的库可以做这些事情,但我不知道如何实现这样的文本渲染器,我什至找不到任何关于如何渲染这样的文本的文档会工作,只渲染简单的固定宽度,ASCII位图字体,从表面上看可能是一种完全不同的方法,它只适用于渲染简单的文本block,其中Unicode不重要。如果没有direct3d字体渲染能够做到这一点,是否

windows - 报告 Direct3D 内存使用情况

我有一个Direct3D9应用程序,我想监控内存使用情况。有没有工具可以知道Direct3D使用了多少系统内存和视频内存?理想情况下,它还会报告为纹理、顶点缓冲区、索引缓冲区分配了多少... 最佳答案 您可以使用旧的DirectDraw界面查询总内存和可用内存。您通过这种方式获得的数字并不可靠。可用内存可能随时变化,可用内存通常会考虑AGP内存(严格来说不是视频内存)。您可以使用这些数字很好地猜测您的应用程序/游戏的默认纹理分辨率和细节级别,仅此而已。您可能想知道为什么没有办法获得更好的数字,毕竟跟踪资源使用情况并不难。从应用的角度

windows - 请帮助 - 来自 Aero Shake/3D 翻转的 WM_SYSCOMMAND 消息

你好我有一个用Delphi2006编写的应用程序。我注意到在Windows7下运行时,该应用程序没有收到来自AeroShake的WM_SYSCOMMAND消息。但是,如果我以管理员身份运行该应用程序,那么它会在执行AeroShake时收到WM_SYSCOMMAND。我已经尝试为WM_SYSCOMMAND调用ChangeWindowMessageFilter并得到True的结果表明调用成功但我仍然无法从AeroShake获得WM_SYSCOMMAND消息。有谁知道为什么以及如何解决这个问题?谢谢 最佳答案 Thisdiscussion

windows - 如何对 live windows 7 窗口内容进行 3d 操作?

这基本上是一个范围界定问题,我应该在哪里寻找将窗口内容渲染到3d表面并对其进行操作的工具?我的意思是我可以有一个像shell一样的程序,它可以像VistaDWM's3dTaskSwitcher那样以3d形式合成实时窗口吗?并且可以将UI交互转换回每个窗口的2d交互?我在网络上到处都看到过DWM扩展​​的提及,但找不到任何关于它如何工作的资源。还有通过关联两个窗口的HWND来实现DWM缩略图的指南,但这不允许我在窗口上进行任意转换并且仅显示(您不能单击缩略图中的内容。)有什么想法吗? 最佳答案 没有用于操作DWM的3D视觉效果的界面。

AI画师技术又精进了? AI画师三维版试玩——Dreamfields和DreamFusion向文本生成3D模型领域进发

0、AI画师二维版的出圈最近AI画师的杰出表现让人惊讶无比,2022虽然不是ai绘图这项技术诞生的时间,但却是到目前为止最爆火出圈的绘图元年,现在市场上也已经有了很多成熟的AI绘画APP:用户仅需打开相应的AI绘画软件,在创作页面,只需要输入相应的关键词,你想生成什么样的画就输入什么关键词,然后点击创作,十几秒后,一幅惊艳的画作就生成了,如下都是NovelAI生成的图像:1、AI画师三维版的兴起然而最近,二维版的绘画领域已经满足不了AI了,AI已经开始进入3D世界,直接一句话/一张图,生成3D模型、立体人像、全方位环绕视频,输入简单的文本提示,就能生成3D模型,比如一幅美丽的花树画,Chiho

windows - 如何在纹理上的 3d 空间中显示 windows/X 窗口系统窗口?

我想知道,如何捕捉窗口并将其显示在3D空间的纹理上。以及如何将鼠标和键盘输入从3D应用程序重定向到在后台运行的应用程序?我的意思是完整的3D桌面。 最佳答案 这可能有点复杂,“完整”的答案可能不适合这个论坛。不过,这是一个想法/大纲:一种方法是通过VNC.在VNC服务器中运行一个单独的、不可见的“虚拟”桌面,然后以它作为显示启动所需的应用程序。然后,您在“真实”桌面上的3D渲染程序可以连接到VNC服务器,并以位图格式访问其桌面,并将其渲染到带纹理的多边形上。输入事件中的管道也非常可行。我实际上已经做到了,或者至少做到了一半(显示)。

windows - 3D 应用程序中鼠标输入的帧率不均匀

我正在使用OpenGL为Windows编写3D应用程序。现在它渲染一个简单的测试场景,其中一个模型包含大约50000个多边形,并且以60FPS的速度平滑渲染。但是,每当鼠标在应用程序窗口上移动时,帧速率会变得非常不均匀。它从400FPS随机波动到20FPS。这有什么理由吗?这是由应用程序被迫处理的鼠标事件引起的吗?我可以禁用它们并只轮询鼠标状态吗?我的应用程序循环非常简单,大致类似于:if(PeekMessage(&msg,NULL,0,0,PM_REMOVE)){if(msg.message==WM_QUIT){quit();}else{TranslateMessage(&msg);

windows - 有没有一种有效的方法可以将 a3d 场景转换为 2d 增强图元文件

我正在使用Delphi2010和OpenGL开发CAD应用程序。目前,我正在开发一个将当前View导出到图像文件的模块。这对于光栅格式来说非常简单(将场景渲染到所需尺寸的屏幕外缓冲区,将缓冲区写入磁盘),但我也希望能够将场景的轴对齐二维View导出为矢量格式,最好是WindowsEMF。我正在考虑在软件中计算我的变换和投影,或者滥用glFeedback功能。由于我必须实现自己的z缓冲,这种方法似乎相当费力,更不用说我在没有硬件加速的情况下渲染复杂场景时可能面临的性能问题。由于我的google-fu没有得到结果,我想问问你们有没有人遇到过这个问题(将Opengl-3d-scene转换为2

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\