问题标签 [ati]
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.
opengl - 带有 genymotion 的 OpenGL atimobility radeon 3400
我该如何解决这个问题?拥有支持 openGL 3.2 的 atimobility radeon 3400。
当我尝试 genymotion(例如)时,它得到错误“无法启动 Genymotion 虚拟设备。无法初始化 openGL 渲染器库。检查您的视频卡是否支持 OpenGL 2.0。如果不支持,则 Genymotion 虚拟设备无法启动。如果是,也许你应该更新你的视频驱动程序。”
我的视频驱动程序是最新的。
java - JOGL - 监控 GPU 内存
我正在寻找一些 JOGL 类/方法/示例来检索总可用 GPU 内存的大小和当前可用的 GPU 内存。
我知道可以使用OpenGL(JOGL Java 文档)来完成。
c++ - 通过 ATI 上的着色器渲染图元不显示
我正在重构以前使用 opengl 1.1 的物理模拟器,现在我将其设置为使用 VBO 和 GLSL 着色器。目前,模拟中的粒子都是从 VBO 中绘制的,而物理边界是使用 opengl 即时模式绘制的。(我知道即时模式不是最终解决方案,但升级它是另一次)
问题: 经过测试,我发现在 ATI 卡上没有绘制边界。我建立了一个简单的测试项目来弄清楚发生了什么,我看到的结果与我的主项目相同:
在这种情况下,我可以绘制 VBO 对象,佛像,当我禁用着色器时,我可以在立即模式下绘制。但是当我尝试使用即时模式将三角形放在“3d”空间中时,它不会只在 ATI 上渲染。
ATI 渲染 http://s23.postimg.org/xcgjxl2h7/ATI.png
Nvidia 渲染 http://s23.postimg.org/qaimbdyvf/NVIDIA.png
所以白色三角形是我使用的时候
红色三角形是
佛是glDrawElements
召唤
相关着色器:VertexShaderPrim
FragmentShaderPrim
顶点着色器
片段着色器
c++ - 相同的着色器在 Nvidia 和 ATI 卡上表现不同
我和一个朋友正在开发一个编辑器(类似于 CAD),以便在我们未来的游戏中使用。我们正在使用 Qt 框架和 OpenGL。我们遇到的问题是,在他带有集成 nVidia 卡的笔记本电脑上,阴影按预期工作并且渲染良好。在我的带有集成 ATI 卡的笔记本电脑上,以及在我的带有 Radeon HD5850 的台式机上,phong 照明的表现略有不同。亮点和暗点较多,图像不好看。此外,我们使用卡通着色器在边缘周围绘制轮廓并限制颜色可以具有的阴影数量。
卡通着色器使用 2-pass 渲染 - 第一遍将对象渲染为黑色,略大于原始对象(在其法线方向上稍微移动每个顶点)以制作轮廓,然后第二遍正常渲染对象(仅限制阴影光谱,所以看起来更像漫画)。
我们的两台电脑上的图像是相同的。我上面提到的第一个区别,第二个是剪影在我朋友的电脑上被拉伸了,所以它在物体周围形成了一个均匀的剪影,但在我的电脑上稍微向上移动,在我的电脑上画了一条粗线顶部和底部没有线。
另一件事是 phong 照明,照亮编辑对象所在的立方体。同样,在我朋友的电脑上渲染得很好,但在我的电脑上几乎全黑或全白。
第一张图片(nVidia 卡):
第二张图片(ATI 卡):
我知道代码很长,问题可能出在某些 Qt 设置中,而不是在着色器中,但如果您发现任何让您觉得不好的做法,请回答。
phong 阴影的代码如下
phong 片段着色器:
和卡通着色器:
和片段着色器
最后,我们的 OpenGLWindow 初始化(在 Qt 中)
opengl - Nvidia显卡上的阴影粉刺
我和一个合作伙伴正在 OpenGL 中进行一个小型演示。我们正在做简单的阴影映射。他使用 ATI 和 Intel HD graphics 4000,一切正常。尽管我们使用相同的代码,但我使用 GTX 560 TI 并得到阴影粉刺。
当我移动时,整个阴影都在闪烁。要设置帧缓冲区的深度缓冲区,我们执行以下操作:
顶点着色器的相关部分是:
片段着色器的相关部分是:
我尝试了不同的偏差值,但要么不影响粉刺,要么根本没有阴影。我还尝试使用带有 textureProj() 和 texture() 的 sampler2DShadow 作为查找函数。似乎没有任何效果。这个问题不仅会影响阴影,还会影响同时使用阴影贴图的体积光照效果。另一方面,使用 gl_ClipDistance 进行剪辑在我的 Nvidia 上运行良好,但在他的显卡上却不行。
c# - 如何使用 AMD Display Library (ADL) Overdrive State Set 功能(以编程方式进行超频)
我正在使用AMD 显示库,它基本上允许我们控制 GPU 的某些参数(时钟速度/风扇控制)。
SDK 附带一个Sample-Managed
代码,我能够从ADL_Overdrive6_StateInfo_Get
方法中获得所需的结果(核心和内存时钟速度)。
使用该ADL_Overdrive6_State_Set
方法(具有相同的参数)返回错误代码:
int od_result = ADL.ADL_Overdrive6_State_Set(OSAdapterInfoData.ADLAdapterInfo[i].AdapterIndex, ADL.ADL_OD6_SETSTATE_PERFORMANCE, stateInfoBuffer);
-8 ADL_ERR_NOT_SUPPORTED
(驱动程序不支持的功能。)
我已经在配备 AMD Radeon R9 280x / AMD Radeon HD 7970 的系统和配备 AMD Radeon 8670M 的笔记本电脑上对其进行了测试。
我是否需要更改驱动程序设置中的某些内容,是否存在兼容性问题?
c++ - GLSL 着色器不适用于 AMD/ATI,但适用于 NVIDIA
我现在有pin down
几天不能解决的非常奇怪的问题。我正在制作一个简单的逐顶点照明,它可以正常工作Nvidia
,但不会渲染任何有灯光阴影的东西AMD/ATI
。我找到了与属性有关的问题——尤其是颜色属性。
这是我的顶点着色器:
这是像素着色器:
所以这个着色器允许 3 种状态——当我使用灯光时,当我不使用灯光但使用逐顶点颜色时,以及当我对所有顶点使用单一颜色时。我删除了所有光计算代码,因为我将问题追溯到一个属性。这是着色器的输出:
如您所见,一切都是蓝色的(因此它渲染所有没有 shading 或 color 的东西
(en_LightingEnabled == false and en_ColorEnabled == false)
)。
当我在顶点着色器中替换此代码时:
有了这个:
我得到以下信息:
所以你可以看到它渲染所有没有阴影的东西仍然是蓝色的,但现在它也将所有使用灯光(en_LightingEnabled == true
)的东西渲染为绿色。应该是这样的。问题是该in_Color
属性不应该干扰灯光,因为如果启用了灯光,它甚至都不会运行。您还可以看到图像中没有任何东西是红色的,这意味着在这个场景en_ColorEnabled
中总是false
。所以in_Color
在这里完全没用,但它会在逻辑上不应该的地方引起错误。在Nvidia
它上面工作正常,绿色区域绘制有或没有in_Color
。
我使用的东西AMD
不支持吗?我使用了超出GLSL
规格的东西吗?我知道spec 比AMD
更严格,所以我可能会做一些未定义的事情。我使代码尽可能简单,但仍然有问题,所以我看不到它。
另外,我注意到如果顶点属性被禁用(否),它不会在屏幕上绘制任何东西(甚至是蓝色区域),但为什么呢?我什至不使用颜色。禁用的属性需要按规范返回( )对吗?我试着用改变那个颜色,但还是变黑了。编译器和链接器不返回任何错误或警告。发现属性 in_Color 很好GL
Nvidia
in_Color
glEnableVertexAttribArray
0,0,0,1
glVertexAttrib4f
glGetAttribLocation
. 但正如我所说,这无关紧要,因为该分支从未在我的代码中执行。有任何想法吗?
在笔记本电脑上测试Nvidia660Ti
并正常工作,在ATI
mobility radeon HD 5000
笔记本电脑上测试并出现此错误。我唯一的想法是,也许我超出了GPU
(太多属性等等)的能力,但是当我把我的代码减少到这个时,我就不再相信了。我在这里只使用了 3 个属性。
此外,我的一些朋友在更新AMD
的显卡上进行了测试,也遇到了同样的问题。
更新 1
顶点属性绑定如下:
此外,我发现如何更容易地显示怪异 - 使用这个顶点着色器:
所以没有分支。我得到了这个:
如果我通过像这样
删除来更改该代码:
in_Color
我明白了:
最后一个是我所期望的,但是即使我做了加法(+
)而不是其他任何东西,前一个也没有绘制任何东西。因此,如果attrib
未绑定并且给出 ( 0,0,0,0
) 或 ( 0,0,0,1
),那么它不应该做任何事情。然而它仍然失败。
此外,所有日志都是空的 - 编译、链接和验证。没有错误或警告。尽管我注意到着色器调试信息AMD/ATI
提供的信息远不如Nvidia
提供的信息。
更新 2
我发现的唯一解决方法是attribarray
在所有情况下都启用(因此它基本上会在未启用颜色时将垃圾发送到GPU
),但是由于我使用制服来检查颜色,所以我只是不使用它。所以它是这样的:
我不知道为什么会发生这种情况或为什么需要使用它。我不需要那个Nvidia
。所以我想这更慢而且我在浪费带宽?但至少它有效......不过,如何更好地做到这一点的帮助会很有用。
linux - aticonfig 未检测到支持的适配器
我想在电脑上安装redhat或者centos,但是在电脑上运行linux系统的时候,电风扇又快又热,于是我尝试安装ati驱动来解决这个问题,每次我安装驱动的rpm,但是最后一步,“aticonfig --initial”不起作用,系统提示“aticonfig no supported adapters detected”,我该如何解决这个问题?非常感谢。
opengl - OpenGL 中 Direct3D 11.1 的目标无关光栅化 (TIR) 等效(包括扩展)
与目标无关的光栅化 (TIR) 是DirectX 11.1 中的一项新硬件功能,Microsoft使用它来改进 Windows 8 中的 Direct2D。AMD 声称TIR 将 2D 矢量图形的性能提高了约 500%。并且与 Nvidia 发生了一些“口水战”,因为Kepler GPU 显然不支持 TIR(以及其他 DirectX 11.1 功能)。TIR 的想法似乎起源于微软,因为他们为它申请了专利。
现在 Direct2D 很好,您的操作系统是 Windows,但是是否有一些 OpenGL(可能是供应商/AMD)扩展可以提供对相同硬件/驱动程序 TIR 事物的访问?我认为 AMD 有点奇怪,因为 OpenGL 没有独立于供应商的 2D 矢量图形扩展。目前只有 Nvidia 正在推广NV_path_rendering,其架构与 Direct2D 有很大不同。因此,与 Direct2D+Direct3D 世界不同,AMD 为加速 2D 矢量图形而制造的任何东西可以在 OpenGL 中插入(或显示)的地方还不清楚。我希望我的悲观主义将被下面的简单答案所揭开。
我实际上在这里发布了各种更新,因为评论风格的帖子中没有足够的空间来做这件事。TIR 的作用似乎有点混乱,这不仅仅是“没有附加存储的帧缓冲区”。这可能是因为我在上面只链接到最糟糕的专利权人(但这是我在 TIR 上能找到的最详细的文件)。我发现的关于 TIR 的最佳高级概述是来自Sinofsky 的博客文章的以下片段:
为了在渲染不规则几何体(例如地图上的地理边界)时提高性能,我们使用了一种新的图形硬件功能,称为目标独立光栅化或 TIR。
TIR 使 Direct2D 能够在曲面细分上花费更少的 CPU 周期,因此它可以更快、更高效地向 GPU 提供绘图指令,而不会牺牲视觉质量。TIR 可用于为支持 DirectX 11.1 的 Windows 8 设计的新 GPU 硬件。
下面的图表显示了在支持 TIR 的 DirectX 11.1 GPU 上从各种 SVG 文件渲染抗锯齿几何图形的性能改进:[图表截图]
我们与我们的图形硬件合作伙伴 [阅读 AMD] 密切合作来设计 TIR。由于这种伙伴关系,显着改善成为可能。DirectX 11.1 硬件今天已经上市,我们正在与我们的合作伙伴合作,以确保更多支持 TIR 的产品能够广泛使用。
这是我要求从 OpenGL 使用的硬件。(哎呀,我什至愿意从 Mantle 调用它,因为它也可以在 Windows 之外使用。)
opengl - ATI Radeon HD 5770 GPU OpenGL 4.1 支持?
我在 2012 Mac Pro 上有一个 ATI Radeon HD 5770 GPU。
当我在我的程序中运行以下代码时:
我得到的输出如下:
但是使用 OpenGL Extensions Viewer 我得到以下
有没有办法可以使用 4.1?为什么它一直告诉我版本是2.1?