rendering
Download
Skip this Video
Download Presentation
Rendering

Loading in 2 Seconds...

play fullscreen
1 / 19

Rendering - PowerPoint PPT Presentation


  • 315 Views
  • Uploaded on

Rendering. Contenido. Objetivo Representación de líneas Algoritmo DDA Algoritmo de Bresenham Representación de polígonos Rellenado de polígonos Eliminación de superficies ocultas. Representación (Rasterization). Se dispone de: Topología de la escena

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Rendering' - emily


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
contenido
Contenido
  • Objetivo
  • Representación de líneas
    • Algoritmo DDA
    • Algoritmo de Bresenham
  • Representación de polígonos
  • Rellenado de polígonos
  • Eliminación de superficies ocultas
representaci n rasterization
Representación (Rasterization)
  • Se dispone de:
    • Topología de la escena
    • Coordenadas de los vértices proyectados
    • Intensidades en los vértices o en cada punto
    • Coordenada z de los vértices
  • Se desea obtener:
    • Color en cada pixel
representaci n de una l nea
Representación de una línea
  • Dadas las coordenadas de dos vértices
  • Determinar los pixels que deben marcarse
    • Produce efectos incorrectos marcar todos los pixels por los que pasa

Solución correcta

algoritmo dda digital diferential analyzer
dx = xb - xa

dy = yb - ya

x = xa

y = ya

If (Abs(dx) > Abs(dy)) Then

steps = Abs(dx)

Else

steps = Abs(dy)

End If

xIncrement = dx / steps

yIncrement = dy / steps

Call Plot(x, y)

For k = 0 To steps - 1

x = x + xIncrement

y = y + yIncrement

Call Plot(x, y)

Next k

Algoritmo DDA (Digital Diferential Analyzer)
algoritmo de bresenham

1

1/2

0

Algoritmo de Bresenham
  • DDA trabaja con números reales
  • El algoritmo de Bresenham se desarrolló para plotters digitales
  • Se basa en:
    • incrementar en el sentido mayor
    • la otra coordenada se incrementa 0 o 1
    • Se controla por el error entre la línea y el orígen del píxel más cercano
algoritmo de bresenham7
Algoritmo de Bresenham
  • El error se incrementa con el valor de la pendiente: e = e + dy/dx
  • Cuando el error es superior a 1/2:
    • se incrementa y
    • se resta 1 al error
  • Se comienza con
    • e = -1/2
    • se controla e > 0
algoritmo de bresenham8
Algoritmo de Bresenham
  • Operaciones con e:
    • Inicio: e = dy/dx - 1/2
    • Incremento: e = e + dy/dx
    • Control: if (e>0) then e = e -1, x = x + 1
  • x e y son enteros
  • e es real
    • Para trabajar con enteros, se multiplica el error por 2 • dx
algoritmo de bresenham9
dx = Abs(xa - xb)

dy = Abs(ya - yb)

e = 2 * dy - dx

If (xa > xb) Then

x = xb

y = yb

xEnd = xa

Else

x = xa

y = ya

xEnd = xb

End If

Call Plot(x, y)

Do While (x < xEnd)

x = x + 1

If (e > 0) Then

y = y + 1

e = e - 2 * dx

End If

e = e + 2 * dy

Call Plot(x, y)

Loop

Algoritmo de Bresenham
representaci n de pol gonos
Representación de polígonos
  • Se procesa cada línea (scan line)
  • Se rellena entre el inicio y final de cada arista

Para el polígono sóloson necesarios los pixels rojos

representaci n de aristas de pol gonos
Se necesita un pixel por línea horizontal (scan line)

Se basan en modificaciones de los algoritmos DDA o de Bresenham, ejemplo con DDA:

dx = xb - xa

dy = yb - ya

x = xa

increment = dx / dy

For y = ya To yb

Call Plot(x, y)

x = x + increment

Next y

Representación de aristas de polígonos
rellenado entre aristas
Rellenado entre aristas
  • En cada línea hay un número par de aristas
  • En polígonos convexos son siempre 2
  • Se realiza el sombreado y la coordenada z
  • El modo de representación se puede realizar
    • scan line
    • polígono por polígono
scan line
Scan Line
  • Se genera la imagen línea a línea
  • Para cada línea
    • lista de aristas en la línea (añadir y eliminar)
    • en cada pixel, obtener valores de los polígonos en el pixel a partir de sus aristas (incrementalmente)
    • representar el pixel del polígono más cercano
pol gono por pol gono
Polígono por polígono
  • Se genera la imagen polígono por polígono
  • Para cada polígono
    • Para cada línea entre ymax e ymin del polígono
      • obtener lista de aristas en la línea
      • representar los pixels entre estas aristas si no hay representado otro polígono más cercano (se almacena también el valor de z)
eliminaci n de superficies ocultas
Eliminación de superficies ocultas
  • Han existido históricamente distintos métodos
  • Se puede comentar el algoritmo del pintor
  • El utilizado habitualmente es el Z-buffer
    • es el único posible en representación polígono por polígono
    • implementado en hardware
z buffer
Z buffer
  • Una matriz con los valores de z en cada pixel
  • Permite representar los polígonos de forma independiente
  • Al representar un polígono, se comparan sus pixels con los almacenados y si son visibles se representan y substituyen el valor de z
creaci n de escenas
Creación de escenas
  • Esquema (storyboard)
  • Modelos de los objetos
  • Posición
  • Rendering inicial
  • Modificaciones
  • Rendering final
ad