CS410 Software Engineering

Real Projects. Real Impact. Real   kills.

    Software Development Life Cycle
    Prototyping + Scrum + Agile + DevOps
    Python and C++ (w/ Cython)
    Git + Docker Containers
    Applied Deep Learning
    Guest Speakers

Dan Ginsburg

11 / 20

Vulkan, OpenGL, and OpenGL ES renderers for the Source 2 engine used by games such as Dota 2, Artifact, and Dota Underlords

Critical Thinking in Cybersecurity

11 / 20

Kristin Dahl

11 am

Kristin is a cyber security consultant with IBM X-Force IRIS and former research staff member at MIT Lincoln Laboratory

Assignment 7

A

Assignment 7

Daniel's solution: https://cs460.org/shortcuts/31

Assignment 8

Due 11/16

Light Simulations

N (x, y, z)

Material

Scattering

controls the physical appearance

+ Light

Physically Based Rendering

Shadowing

Shading

Two things control the color of an object

Material

Light

+

Color

Direction

Color

Orientation

Reflections

var color = 0xFFFFFF;
var intensity = 1;
var light = new THREE.AmbientLight(color, intensity);
scene.add(light);
var skyColor = 0xB1E1FF;  // light blue
var groundColor = 0xB97A20;  // brownish orange
var intensity = 1;
var light = new THREE.HemisphereLight(skyColor, groundColor, intensity);
scene.add(light);
var color = 0xFFFFFF;
var intensity = 1;
var light = new THREE.DirectionalLight(color, intensity);
light.position.set(0, 10, 0);
light.target.position.set(-5, 0, 0);
scene.add(light);
scene.add(light.target);
var color = 0xFFFFFF;
var intensity = 1;
var light = new THREE.DirectionalLight(color, intensity);
light.position.set(0, 10, 0);
light.target.position.set(-5, 0, 0);
scene.add(light);
scene.add(light.target);

var helper = new THREE.DirectionalLightHelper(light);
scene.add(helper);
var color = 0xFFFFFF;
var intensity = 1;
var light = new THREE.PointLight(color, intensity);
light.position.set(0, 10, 0);
scene.add(light);

//...
gui.add(light, 'distance', 0, 40)
var color = 0xFFFFFF;
var intensity = 1;
var light = new THREE.SpotLight(color, intensity);
light.position.set(0, 10, 0);
light.target.position.set(-5, 0, 0);
scene.add(light);
scene.add(light.target);

//...
gui.add(new DegRadHelper(light, 'angle'), 'value', 0, 90).name('angle');
var color = 0xFFFFFF;
var intensity = 5;
var width = 12;
var height = 4;
var light = new THREE.RectAreaLight(color, intensity, width, height);
light.position.set(0, 10, 0);
light.rotation.x = THREE.Math.degToRad(-90);
scene.add(light);

Let's code

This was shading.

What about shadows?!

Lecture 29

By Daniel Haehn

Lecture 29

Slides for CS460 Computer Graphics at UMass Boston. See https://cs460.org!

  • 70

More from Daniel Haehn