我试图从标准的VCL TEdit控件中检索可访问的信息.get_accName()和Get_accDescription()方法返回空字符串,但get_accValue()返回输入TEdit的文本值.
我刚开始尝试了解MSAA,此时我有点迷失了.
我的TEdit是否需要具有可以向MSA公开的其他已发布属性?如果是这样,那就需要创建一个从TEdit下降的新组件,并添加其他已发布的属性,如"AccessibleName","AccessibleDescription"等......?
另外,请注意,我查看了应该可访问的VTVirtualTrees组件,但MS Active Accessibility Object Inspector仍然看不到AccessibleName已发布属性,即使在该控件上也是如此.
在这一点上,我感到茫然,并对此事的任何建议或帮助表示感谢.
...
interface
uses
Winapi.Windows,
Winapi.Messages,
System.SysUtils,
System.Variants,
System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs,
Vcl.StdCtrls,
Vcl.ComCtrls,
Vcl.ExtCtrls,
oleacc;
const
WM_GETOBJECT = $003D; // Windows MSAA message identifier
OBJID_NATIVEOM = $FFFFFFF0;
type
TForm1 = class(TForm)
lblFirstName: TLabel;
edFirstName: TEdit;
panel1: TPanel;
btnGetAccInfo: TButton;
accInfoOutput: TEdit;
procedure btnGetAccInfoClick(Sender: TObject);
procedure edFirstNameChange(Sender: TObject);
private
{ Private declarations }
FFocusedAccessibleObj: IAccessible;
FvtChild: Variant;
FAccProperties: TStringList;
FAccName: string;
FAccDesc: string;
FAccValue: string;
procedure DoGetAccessibleObjectFromPoint(aPoint: TPoint); …
Run Code Online (Sandbox Code Playgroud) 我使用Apple网站上的示例在我的iPad OpenGL ES 2.0应用程序上启用了4x MSAA.在模拟器上,这种方法效果很好,图像也很漂亮,但是在设备上边缘有颜色的伪像应该是抗锯齿的.这存在于iPad/iPad2和iPhone4上,但不存在于模拟器中.我在下面附上了一个神器看起来像什么的图片.谁知道这可能是什么?
我正在编写基于 Vulkan API 的渲染器。目前我正在尝试为颜色附件添加 MSAA。我很确定我可以使用VK_SAMPLE_COUNT_16_BIT
,但 limits.framebufferColorSampleCounts
返回允许 MSAA 级别高达VK_SAMPLE_COUNT_8_BIT
(含)的位标志
我在全新的 NVIDIA QUADRO RTX 3000 卡上运行。我还使用最新的 NVIDIA 驱动程序:441.28 我检查了 OpenGL 和 GPU 上限查看器显示中的限制
GL_MAX_FRAMEBUFFER_SAMPLES = 32
这有什么意义呢?该限制仅由 Vulkan API 规定吗?如果硬件不支持超过 x8,那么这是否意味着 OpenGL 驱动程序在 CPU 上模拟它,例如通过超级采样之类的东西?这就是 khronosdev.slack 的几位渲染开发人员对我所说的话?是否有意义?供应商是否必须按照标准进行编译,然后要么以正确的方式实施 MSAA,要么根本不实施?
有没有可能 OpenGL 并不“真正”支持超过 x8 MSAA,但驱动程序通过超级采样之类的东西来模拟它?
更新
本页解释了 OpenGL 的 MSAA 实现的整个状态,实际上,从中可以清楚地了解为什么 Vulkan 不在我的卡上提供超过 x8 的样本。这是妙语:
一些 NVIDIA 驱动程序支持多重采样模式,这些模式在内部实现为多重采样和自动超级采样的组合,以获得比硬件直接支持的更高级别的抗锯齿效果。
我试图使用D3DImage在DX11中获得MSAA,但似乎是不可能的,因为不允许共享多重采样纹理,如下所述:http://msdn.microsoft.com/en-us/library/windows/桌面/ ff476531(v = vs.85)的.aspx
实际上,我使用了D3DImage的SharpDX实现,它可以很好地用于DX11和DX10,因为只要有人反对就可以离开.
解决这个问题的方法在这个主题中描述:http://sharpdx.org/forum/5-api-usage/1000-d3d11-problem-with-usage-of-texture2d,这些方法都没有成功.还有另一个线程提出了类似的问题:多重采样和Direct3D10/D3DImage互操作
最后,问题实际上是,如果有人能够确认,那么绝对不可能使用D3DImage来渲染DX10/DX11的抗锯齿内容吗?
最近我尝试在 Linux 下使用 MSAA(多样本抗锯齿)。结果令人惊讶:对于 Nvidia 专有驱动程序,一切都像魅力一样工作,但是对于 nouveau 驱动程序,它不起作用。奇怪的是,glxingo 说支持 GLX_ARB_multisample 并且我能够在 GLX_SAMPLE_BUFFERS 设置为 1 和 GLX_SAMPLES 设置为 4(或 8)的情况下获得适当的 FBConfig。但是在渲染时,图片没有应用抗锯齿。我的项目和 freeglut 都存在这个问题,所以我将提供一个基于 glut 的小程序来演示这个问题:
/*
* Test multisampling and polygon smoothing.
*
* Brian Paul
* 4 November 2002
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <GL/glut.h>
static GLfloat Zrot = 0;
static GLboolean Anim = GL_TRUE;
static GLboolean HaveMultisample = GL_TRUE;
static GLboolean DoMultisample = GL_TRUE;
static void
PrintString(const char *s)
{
while (*s) {
glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s); …
Run Code Online (Sandbox Code Playgroud) 我将GLSL与顶点着色器和片段着色器一起使用。
顶点着色器输出highp float
[0,1]范围内的a
当它到达片段着色器时,我看到值(在三角形边缘)不少于 1.1!
这个问题就会消失,如果我...
flat
。如果启用了 MSAA,固定的 0 到 1 高精度浮点如何以远大于 1 的值到达片段着色器?
顶点着色器代码:
out highp float lightcontrib2;
...
lightcontrib2 = clamp( irrad, 0.0, 1.0 );
Run Code Online (Sandbox Code Playgroud)
片段着色器代码:
in highp float lightcontrib2;
...
if (lightcontrib2>1.1) { fragColor = vec4(1,0,1,1); return; }
Run Code Online (Sandbox Code Playgroud)
果然,使用 MSAA 4x,这就是 OpenGL 生成的图像。(观察窗口中心的磁铁色像素。)
我已经排除了非数字值。
GL_版本:3.2.0 NVIDIA 450.51.06
我有两个2D纹理.第一个是MSAA纹理,使用的是目标GL_TEXTURE_2D_MULTISAMPLE
.第二个非MSAA纹理使用目标GL_TEXTURE_2D
.
根据OpenGL 关于ARB_texture_multisample的规范,GL_NEAREST
在绘制MSAA纹理时,只有一个有效的过滤选项.
在这种情况下,这两个纹理都GL_COLOR_ATTACHMENT0
通过各自的Framebuffer对象附加.他们的分辨率也是相同的大小(根据我的知识,这对于将MSAA与非MSAA联系起来是必要的).
因此,考虑到当前的限制,如果我将MSAA保持FBO到非MSAA持有FBO,我仍然需要GL_NEAREST
用作过滤选项,或者是否GL_LINEAR
有效,因为两个纹理都已经被渲染到?
我正在学习“使用 DirectX 12 进行 3D 游戏编程简介”。在初始化 d3d(第 4 章)中运行示例代码,当我想使用 4xmsaa 时,发生了错误,如下图所示,请帮助我。 错误的数字
msaa ×8
antialiasing ×2
opengl ×2
blit ×1
d3dimage ×1
delphi ×1
delphi-2006 ×1
delphi-xe3 ×1
directx ×1
directx-12 ×1
framebuffer ×1
glsl ×1
ios ×1
linux ×1
mesa ×1
nvidia ×1
opengl-es ×1
sharpdx ×1
textures ×1
vulkan ×1
wpf ×1