Ho molta confusione e devo chiarire un po 'di terminologia e mettere insieme le conoscenze. Se dico che un motore è un ray tracer (quindi utilizza l'algoritmo di ray tracing per il rendering della scena), è automaticamente un motore basato fisicamente? Voglio dire, il ray tracing è per definizione basato …
Il rendering della scena di solito comporta più di un programma shader che, nel mio caso, usano tutti gli stessi attributi e condividono almeno alcune delle uniformi. Per farli funzionare correttamente, attualmente gioco al sicuro, il che significa che ricollego gli attributi e ottengo le posizioni uniformi appropriate ogni volta …
Wikipedia dice : Una sorgente di luce ambientale rappresenta una sorgente di luce a intensità fissa e a colori fissi che influenza tutti gli oggetti nella scena allo stesso modo. Dicendo "influenza tutti gli oggetti allo stesso modo" significano che tutti gli oggetti ottengono la stessa quantità di luce? Quindi, …
Non capisco la spiegazione da Wikipedia. Per ogni pixel sullo schermo, il pixel shader campiona i valori di profondità attorno al pixel corrente e prova a calcolare la quantità di occlusione da ciascuno dei punti campionati. In che modo i valori di profondità dei pixel circostanti possono dirti qualcosa sull'occlusione? …
Nel leggere la riflettanza lambertiana su Wikipedia ho trovato la seguente frase (in grassetto) che non suona bene per me: Nella computer grafica, la riflessione lambertiana viene spesso utilizzata come modello per la riflessione diffusa. Questa tecnica fa sì che tutti i poligoni chiusi (come un triangolo all'interno di una …
Quando implemento la legge di Beer (assorbimento del colore a distanza attraverso un oggetto), per qualche motivo non sembra mai molto bello. Quando ho il colore dietro l'oggetto, calcolo il colore modificato in questo modo: const vec3 c_absorb = vec3(0.2,1.8,1.8); vec3 absorb = exp(-c_absorb * (distanceInObject)); behindColor *= absorb; Questo …
Quando si usano le trame in GLSL, è meglio calcolare le coordinate finali della trama nello shader di vertice e consegnarle allo shader di frammento usando varyings. Esempio con un semplice capovolgimento nella coordinata y: // Vertex shader attribute vec2 texture; varying highp vec2 texCoord; // ... void main() { …
L'algoritmo di linea di Bresenham è un modo per disegnare linee rette usando solo operazioni di numeri interi veloci (addizione, sottrazione e moltiplicazione per 2). Tuttavia, genera linee con alias. Esiste un modo altrettanto veloce per disegnare linee antialiaste?
Le differenze tra queste due API sono dettagli di implementazione minori che significano che una volta che ne ho appreso uno posso usarlo per tutto? Oppure ci sono ragioni per imparare l'uno piuttosto che l'altro se voglio essere in grado di usarlo in generale senza dover riapprendere un'altra API in …
La letteratura sul rendering di materiali ed effetti volumetrici tende a usare molta terminologia della fisica matematica. Diciamo che ho una buona padronanza dei concetti coinvolti nel rendering di superficie. Quali concetti devo comprendere per il rendering volumetrico? (Rendering sia in tempo reale che offline.) Cosa si intende esattamente per …
Come disegnare rapidamente una forma curva? "rapidamente" presumo che si dovrebbe usare il più possibile le strutture hardware per "curvo" intendo i confini definiti da curve di Bezier quadratiche o cubiche per "forma" intendo sia un tratto "grasso" (cioè più di 1px di larghezza) o "poligono curvo 2D" pari / …
Di recente ho avuto un problema con l'anti-aliasing sub-pixel del testo , che produce colori molto duri e mi ha fatto chiedermi come debba essere fatto correttamente: Ho disegnato alcuni casi di una tessera nera che copre i terzi di pixel in basso. I colori corrispondono a quelli che vedo, …
Posso modellare i cubetti di ghiaccio come cubi trasparenti leggermente deformati con l'indice di rifrazione dell'acqua, ma non sembrano convincenti. Sembrano grumi di vetro piuttosto che ghiaccio. Osservando i cubetti di ghiaccio reali posso descrivere intuitivamente alcune differenze ma non so quali proprietà fisiche modificare per adattarle: I cubetti di …
Se la scena da raytracing non può essere archiviata in memoria, quindi senza aggiungere più RAM alla macchina sembra irrealistico renderla in un arco di tempo pratico, a causa della necessità di caricare diverse parti della scena dal disco potenzialmente più volte per pixel . C'è un modo per aggirare …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.