Tölvugrafík: Hver er munurinn á hornhimlum og Pixel skuggamönnum?


svara 1:

Grafísk leiðsla

Hliðarskyggni

  • Forrit sem keyra einu sinni í hvert hornpunkt í upphafi leiðslunnar. Ekki er hægt að búa til eða eyðileggja lóðrétt. Veit ekki hvaða grunnþátt þeir tilheyra.

Pixel shaders

  • Forrit keyra seint í leiðslunni einu sinni á hvert brot. Þú hefur ekki aðgang að öðrum hornpunktum eða pixlum. Reiknar út ógagnsæi, lit, z-gildi og áferð hnit.

Feng skygging

Feng skygging

á pixel;

Phong speglun líkan

  • Umbreyttu stöðu og staðalmyndum í hverju hornpunkti frá hlutarými til rýmis. Sameina og staðla yfirborðsstaðla fyrir hverja pixla og bæta við hinum ýmsu lýsingarhlutum (umhverfi + dreifðir + vangaveltur) til að reikna út endanlegan pixellit.

OpenGL námskeið

mismunandi vec3 N; mismunandi vec3 v; ógilt aðal (ógilt) {v = vec3 (gl_ModelViewMatrix * gl_Vertex); N = staðla (gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; }}
mismunandi vec3 N; mismunandi vec3 v; void main (tómt) {vec3 L = normalize (gl_LightSource [0] .position.xyz - v); vec3 E = staðla (-v); vec3 R = staðla (-fléttur (L, N)); // ambient vec4 Iamb = gl_FrontLightProduct [0] .ambient; // diffuse vec4 Idiff = gl_FrontLightProduct [0]. diffuse * max (punktur (N, L), 0,0); Idiff = þvinga (Idiff, 0,0, 1,0); // specular vec4 Ispec = gl_FrontLightProduct [0]. spececular * pow (max (punktur (R, E), 0,0), 0,3 * gl_FrontMaterial.shininess); Ispec = þvinga (Ispec, 0,0, 1,0); // heildarlitur gl_FragColor = gl_FrontLightModelProduct.sceneColor + Iamb + Idiff + Ispec; }}

svara 2:

Hvað er hornhimna?

Hliðarskyggni

Athugaðu að skyggnusamsetning og rúmfræði eru valkvæð.

Hliðarskyggnuforrit

Eiginleikar

Einkennisbúninga

Lestu aðeins

Staða, normals og UV hnit

ÖLL

Hörpuhúðaðar útgáfur

gl_position

Lestu aðeins

breytilegt / út

Eiginleikar

breytilegt / út

Samræmd

Hvað er brotskyggni (einnig þekkt sem pixelhleri)?

Samræmd

Rasterizer

Færðu inn brotabrot

Skil

Aðgreining

Geometry shader

bara

breytilegt / út

  • Áferð hnit: Notað sem einn af breytum í áferð () aðgerðinni. Endurkastsvektar á hornhimnu: Notaðir í umhverfiskortum, teningakortum eða aðgerðum með speglun. Brotvektar í hornhimnu: eru notaðir við teningaverkefni eða aðgerðir með brotum. Geometrísk hnit í líkani eða útsýni hnit. Ljósstyrkur: Notað í senum með topplýsingu. Fjarlægðarvektar frá hornpunktum að ljósgjöfum: notaðir við punktlýsingu / Phong skyggingu.

Málefni brotaskyggðar

vec4

Grafík Shaders: Theory and Practice, Önnur útgáfa: Mike Bailey, Steve Cunningham: 9781568814346: Amazon.com: Books


svara 3:

Hvað er hornhimna?

Hliðarskyggni

Athugaðu að skyggnusamsetning og rúmfræði eru valkvæð.

Hliðarskyggnuforrit

Eiginleikar

Einkennisbúninga

Lestu aðeins

Staða, normals og UV hnit

ÖLL

Hörpuhúðaðar útgáfur

gl_position

Lestu aðeins

breytilegt / út

Eiginleikar

breytilegt / út

Samræmd

Hvað er brotskyggni (einnig þekkt sem pixelhleri)?

Samræmd

Rasterizer

Færðu inn brotabrot

Skil

Aðgreining

Geometry shader

bara

breytilegt / út

  • Áferð hnit: Notað sem einn af breytum í áferð () aðgerðinni. Endurkastsvektar á hornhimnu: Notaðir í umhverfiskortum, teningakortum eða aðgerðum með speglun. Brotvektar í hornhimnu: eru notaðir við teningaverkefni eða aðgerðir með brotum. Geometrísk hnit í líkani eða útsýni hnit. Ljósstyrkur: Notað í senum með topplýsingu. Fjarlægðarvektar frá hornpunktum að ljósgjöfum: notaðir við punktlýsingu / Phong skyggingu.

Málefni brotaskyggðar

vec4

Grafík Shaders: Theory and Practice, Önnur útgáfa: Mike Bailey, Steve Cunningham: 9781568814346: Amazon.com: Books