1
我想知道是否有可能在不使用任何if的情況下在片段着色器中繪製矩形。我試過這個:在片段着色器中繪製矩形
void main(void)
{
vec2 resolution = vec2(300.0, 300.0);
vec2 center = resolution/2.0;
vec2 position = (gl_FragCoord.xy - center)/resolution;
if ((abs(position.x) < 0.5) && (abs(position.y) < 0.5))
gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0);
}
而當我測試像素是否在矩形我必須執行if測試。 我認爲有一個解決方案沒有如果,如果你能幫助我?
謝謝您的回答。技術使用混合是相當不錯的。但我想知道一個二次型forme的解決方案:ax^2 +^2 + 2cxy然後混合()與距離。我不知道這是否可能?我的想法是對於橢圓,圓形,圓形矩形和矩形具有相同的方程,並且僅調整二次形式的權重。我希望矩形可以用二次函數表示嗎? – user3511595