我想顯示使用兩個簡單GLSL着色器在全窗口圖像:如何找出glEnable(GL_MULTISAMPLE)是否適用於我的紋理?
頂點着色器:
#version 330
layout (location = 0) in vec3 aPos;
layout (location = 1) in vec2 aTexCoord;
out vec3 ourColor;
out vec2 TexCoord;
void main()
{
TexCoord = aTexCoord;
gl_Position = vec4(aPos, 1.0);
}
和片段着色器:
#version 330
uniform sampler2D tex0; // loading the texture here
in vec3 TexCoord; // texture coordinates
out vec4 fColor; // fragment shader output
void main(){
fColor = texture2D(tex0,TexCoord);
}
在OpenGL的代碼,OpenGL的期間屬性設置,我執行
glEnable(GL_MULTISAMPLE);
我在線閱讀,如果驅動程序支持,OpenGL將只執行多重採樣。
反正在OpenGL中我們可以確認上面的調用是否有效? 或者有無論如何,我們可以找出我的機器顯卡是否支持此調用?
我不知道這取決於驅動程序的功能。這絕對取決於渲染目標是否支持多重採樣,但這與驅動程序沒有直接關係。 – BDL
我被檢查一些示例性代碼來執行這一點,我跨越這個文件傳來: [例如碼(https://learnopengl.com/code_viewer.php?code=advanced/anti_aliasing_multisampling) 在該搜索** glEnable(GL_MULTISAMPLE)**。 有一個評論提及其驅動程序的基礎。 有沒有辦法確認渲染目標是否支持多重採樣? –
從第一個角度來看,我沒有看到任何與你的鏈接中的粗體文本相似的東西。我看到的唯一說明是關於是否默認啓用多重採樣。如果你的窗口系統可以給你一個多采樣窗口/ backbuffer和一個OpenGL上下文> 1.3,那麼multisampling必須工作。 – BDL