Photorealistic Rendering

Rendering or image synthesis is the process of generating a image from a 2D or 3D model by means of a computer program.

The goal is to create images from 2D or 3D models which are not distinguisible from what we've seen in the real world.
If we can make photorealistic rendering, non-photorealistic rendering can be easily achieved.

Achieving photorealism in computer graphics requires:

  • Realistic/detailed geometry of models
  • Accurate representations of surface properties (e.g. material)
  • Good physical descriptions of the lighting effects
  • Good understanding of human perception (Human doesn't perceive absolute value... But they are good at perceiving relative value!)
Read more »

Network layer

Path-selection algorithms is implemented in

  • routing protocols: OSPF (inside 1 ISP), BGP (over multiple ISPs)
  • SDN controller: Used in DC (data center)

Network layer uses IP protocol, but ICMP protocol is also used.
ICMP is a network layer protocol that reports error between routers.

IP Datagram

Read more »

Network layer

Network layer transport segment from sending to receiving host.

Sender encapsulates segments into datagrams, passes to link layer.
Receiver delivers segments to transport layer protocol.

Network layer protocols is in every internet device, including hosts and routers.
Routers examine header fields in all IP datagrams passing through it.
Then it moves datagrams from input ports to output ports to transfer datagrams along end-end path.

Two key network-layer functions

Read more »

Predictive Models

A predictive model is a mathematical formula used to estimate outcomes.
It predicts the result for a criterion variable (aka dependent variable) based on one ore more predictor variables. (aka independent variables)

Predictor variables should be numeric or encoded in a way that the model can use.
Ratio-scale is ideal, but ordinal and categorical predictors can be used with proper encoding.

Predictive models, like descriptive models, help us explore how users behave.
However, unlike descriptive models, predictive models deal with numbers, not just ideas or concepts.

Levels of Measurements

Read more »

Rasterization

We should determine which pixels should be turn on.

For each primitive, which pixels are light up?

Rasterization is extremely fast (billions of trangles per second on GPU!), but harder to achieve photorealism.

c.f. Ray tracing: For each pixel, which primitives are seen?
Generally slower, but easier to get photorealism!

Read more »

Sampling 1D Signal

How do we sample and reconstruct continuous 1D signal? (e.g. audio)

  • Piecewise constant approximation: f(x) is value of sample closest to x.
  • Piecewise linear approximation: f(x) is linear interpolation between values of two closest samples to x.

Denser sampling makes better reconstruction.

Sampling 2D Signal

Read more »

Roller Coaster Physics

  • a point mass moving on a spline
  • frictionless with gravity
  • energy conservation law applies

EK+EP=12mv2+mgh=mghmaxE_K + E_P = \frac{1}{2} m \| v \|^2 + mgh = mgh_{max}

We can always compute the magnitude of the velocity of any given point!

v=2g(hmaxh)\| v \| = \sqrt{2g(h_{max}-h)}

Read more »

Congestion

Too many sources are sending too much data too fast for network to handle!

Manifestations: long delays (queueing in router buffers), packet loss (buffer overflow at routers)

Different from flow control! Flow control is needed when one sender is too fast for one receiver.
Congestion control is needed when too many senders are sending too fast.

Congestion scenario 1: Two hosts

Read more »

Subdivision Curves

Subdivide polygonal mesh into larger number of polygons.
Control points eventually converge to underlying smooth curve!

Binary Curve Subdivision

Binary Curve Subdivision

We'll divide curve into left segment and right segment.

Read more »
0%