Modern OpenGL with Python
Formal Metadata
Title 
Modern OpenGL with Python

Title of Series  
Part Number 
51

Number of Parts 
169

Author 

License 
CC Attribution  NonCommercial  ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and noncommercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license. 
Identifiers 

Publisher 

Release Date 
2016

Language 
English

Content Metadata
Subject Area  
Abstract 
Roberto De Ioris  Modern OpenGL with Python The OpenGL api is one of the oldest (and most used) graphics library in both the gaming and simulations world. In latest years the api has been extremely redesigned to support modern hardware features available in GPUs. Can we build realtime graphics application with Python using OpenGL ? Well, obviously Yes !  The talk will introduce how 2D and 3D graphics works, which math is required for mastering them and why strong hardware cooperation and heavy optimizations have been required since the very beginning of gaming development history. Once the theory is "almost" clear, we can start talking about OpenGL, which problems tries to solve and how it evolved in more than 20 years. The last (and the biggest) part of the talk will show how to interface Python with OpenGL, how to draw simple 2D sprites and how to load and show 3D models using simple lighting models. Warning: OpenGL shaders (the custom code you upload in the GPU) are written in GLSL, a pseudoc dialect, so expect a bit of lowerlevel programming

00:00
Meta element
Presentation of a group
Serial port
Multiplication sign
Direction (geometry)
View (database)
Water vapor
Open set
Parameter (computer programming)
Mereology
Food energy
Arm
Formal language
Medical imaging
Heegaard splitting
Semiconductor memory
Ontology
Color space
Endliche Modelltheorie
Physical system
Touchscreen
Block (periodic table)
Software developer
Computer
Sound effect
Maxima and minima
Arithmetic mean
Process (computing)
Selforganization
Pattern language
Hacker (term)
Resultant
Computer programming
Implementation
Image resolution
Maxima and minima
Device driver
Branch (computer science)
Mass
Computer
Graph coloring
Computer hardware
Representation (politics)
Mathematical optimization
Graph (mathematics)
Weight
Projective plane
Basis <Mathematik>
Evolute
Frame problem
Computer graphics (computer science)
Computer animation
Computer hardware
Video game
Game theory
Object (grammar)
Mathematical optimization
Window
Abstraction
Library (computing)
07:18
Point (geometry)
Implementation
Multiplication sign
View (database)
Image resolution
Open set
Rule of inference
Surface of revolution
Ray casting
Medical imaging
Bit rate
Hypermedia
Program slicing
Area
Simulation
Eigenvalues and eigenvectors
Software developer
Sound effect
Cartesian coordinate system
Radius
Computer animation
Video game
Summierbarkeit
Right angle
File viewer
Pattern language
Figurate number
Game theory
Hyperplane
Library (computing)
09:31
Personal identification number
Computer animation
Computer hardware
Computer hardware
Energy level
Game theory
Plastikkarte
Mereology
Power (physics)
Position operator
Power (physics)
10:35
Point (geometry)
Geometry
Polygon
View (database)
Shape (magazine)
Dynamic randomaccess memory
Computer
Semantics (computer science)
Medical imaging
Mathematics
Bit rate
Ring (mathematics)
Query language
Form (programming)
Cellular automaton
Projective plane
Greatest element
Word
Process (computing)
Computer animation
Vector space
Network topology
Triangle
Right angle
Game theory
Capability Maturity Model
12:32
Geometry
Context awareness
Presentation of a group
Pixel
Open source
View (database)
Student's ttest
Open set
Logic
Representation (politics)
output
Loop (music)
Game theory
Physical system
Window
Noise (electronics)
Graphics processing unit
Touchscreen
Computeraided design
Bilderkennung
Arithmetic mean
Computer animation
Logic
Buffer solution
output
Summierbarkeit
Game theory
Cycle (graph theory)
Routing
Resultant
Window
Library (computing)
14:18
Graphics processing unit
Functional (mathematics)
Group action
Context awareness
Presentation of a group
Touchscreen
Multiplication sign
State of matter
ACID
3 (number)
Parameter (computer programming)
Open set
Arm
Computer animation
Pi
Semiconductor memory
Representation (politics)
Gamma function
Game theory
Abstraction
15:51
Geometry
Metropolitan area network
Dataflow
Functional (mathematics)
Mapping
Touchscreen
Graph (mathematics)
View (database)
Projective plane
Open set
Mereology
Graph coloring
Arm
Emulation
Mathematics
String (computer science)
Devolution (biology)
Mathematical optimization
17:45
Application service provider
Context awareness
Pixel
Texture mapping
View (database)
Multiplication sign
Direction (geometry)
Workstation <Musikinstrument>
Open set
Shape (magazine)
Parameter (computer programming)
Mereology
Arm
Word
Pointer (computer programming)
Different (Kate Ryan album)
Semiconductor memory
Vertex (graph theory)
Endliche Modelltheorie
Position operator
Triangle
Social class
Programming language
Theory of relativity
Keyboard shortcut
Interior (topology)
Sound effect
Bit
Statistics
Formal language
Arithmetic mean
Process (computing)
Vector space
Buffer solution
Duality (mathematics)
Order (biology)
Triangle
File viewer
Right angle
Cycle (graph theory)
Point (geometry)
Computer programming
Interpolation
Cone penetration test
Observational study
Algorithm
3 (number)
Data storage device
Heat transfer
Streaming media
Student's ttest
Infinity
Theory
Emulation
Valueadded network
Writing
Readonly memory
Lecture/Conference
Average
Shader <Informatik>
Authorization
Computerassisted translation
Task (computing)
Mobile app
Context awareness
Graphics processing unit
Dialect
Electronic data interchange
Scaling (geometry)
Polygon mesh
PoissonKlammer
Cellular automaton
State of matter
Computer program
Extreme programming
Cartesian coordinate system
Computer graphics (computer science)
Computer animation
Shader <Informatik>
Vertex (graph theory)
Iteration
Game theory
Object (grammar)
Matrix (mathematics)
24:58
Axiom of choice
Computer programming
Pixel
Functional (mathematics)
Link (knot theory)
Cone penetration test
Direction (geometry)
Patch (Unix)
Combinational logic
Skewness
3 (number)
Perturbation theory
Shape (magazine)
Ordinary differential equation
Graph coloring
Order of magnitude
Valueadded network
Element (mathematics)
Lecture/Conference
Shader <Informatik>
Data structure
Office suite
Mathematical optimization
Position operator
Set theory
Social class
Mobile app
Graphics processing unit
Graph (mathematics)
Keyboard shortcut
State of matter
Electronic mailing list
Code
System call
Subject indexing
Uniform resource locator
Vector space
Personal digital assistant
Graphics software
Buffer solution
Triangle
Vertex (graph theory)
Row (database)
Spacetime
29:14
Interpolation
System call
3 (number)
Emulation
Lecture/Conference
Singleprecision floatingpoint format
Vertex (graph theory)
Website
Position operator
Window
Trigonometry
Metropolitan area network
Addition
Graphics processing unit
Logarithm
Electronic program guide
State of matter
Fisher information
CAN bus
Personal digital assistant
Shader <Informatik>
Triangle
Vertex (graph theory)
Software framework
Resultant
30:35
Point (geometry)
Context awareness
Cliquewidth
View (database)
Execution unit
State of matter
Code
Sound effect
Inverse element
Mathematics
Computer animation
Vertex (graph theory)
Default (computer science)
31:52
Fisher information
System call
Vector space
Natural number
Computer cluster
Triangle
Streaming media
Wide area network
32:51
Geometry
Point (geometry)
Threedimensional space
Transformation (genetics)
Direction (geometry)
Translation (relic)
Paradox
Axonometric projection
Semantics (computer science)
Perspective (visual)
Rule of inference
Dimensional analysis
Product (business)
Mathematics
Graphical user interface
Matrix (mathematics)
Cuboid
Vertex (graph theory)
Endliche Modelltheorie
Website
Position operator
Form (programming)
Rotation
Scale (map)
Addition
Pairwise comparison
Multiplication
Military base
Line (geometry)
Lattice (order)
Transformation (genetics)
Translation (relic)
Trigonometric functions
Perspective (visual)
Computer animation
Vector space
Triangle
Software framework
Right angle
Object (grammar)
Metric system
Matrix (mathematics)
Resultant
38:01
Geometry
System call
Transformation (genetics)
Multiplication sign
Execution unit
Translation (relic)
Infinity
Computer
Perspective (visual)
Graph coloring
Area
Emulation
Power (physics)
Mathematics
Internet forum
Representation (politics)
Website
Extension (kinesiology)
Addition
Noise (electronics)
Scaling (geometry)
Matching (graph theory)
Ćkonometrie
Projective plane
Amsterdam Ordnance Datum
Sound effect
Variable (mathematics)
Word
Uniformer Raum
Personal digital assistant
Dew point
Triangle
Vertex (graph theory)
Software framework
output
Right angle
Natural language
Metric system
Matrix (mathematics)
Resultant
Data buffer
41:00
Addition
Pixel
Context awareness
System call
Computer file
Video game
State of matter
Ultraviolet photoelectron spectroscopy
Variance
Emulation
Array data structure
Core dump
Representation (politics)
Software testing
42:06
Interpolation
Group action
Computer file
Multiplication sign
File format
3 (number)
Graph coloring
Perspective (visual)
Hand fan
Lecture/Conference
Software testing
Oracle
Window
Metropolitan area network
File format
State of matter
Electronic mailing list
Menu (computing)
Uniform resource name
Buffer solution
Vertex (graph theory)
Cycle (graph theory)
Object (grammar)
Matrix (mathematics)
Curve fitting
44:34
Complex (psychology)
Texture mapping
Direction (geometry)
Parameter (computer programming)
Disk readandwrite head
Bulletin board system
Web 2.0
Mathematics
Different (Kate Ryan album)
Thermal fluctuations
Endliche Modelltheorie
Addressing mode
Position operator
Physical system
File format
Moment (mathematics)
Menu (computing)
Maxima and minima
Demoscene
Fisher information
Category of being
Data management
Vector space
Uniform resource name
Order (biology)
Software framework
Normal (geometry)
Personal area network
Pattern language
Metric system
Reading (process)
Metre
Functional (mathematics)
Divisor
Computer file
Cellular automaton
3 (number)
Maxima and minima
Laser
Graph coloring
Computer
Product (business)
Lecture/Conference
Wellformed formula
Operator (mathematics)
Lie group
Data structure
Diffusion
Form (programming)
Addition
Graphics processing unit
State of matter
Diffuser (automotive)
Code
Linear algebra
Cartesian coordinate system
Personal digital assistant
Video game
Game theory
Object (grammar)
Matrix (mathematics)
50:37
Metropolitan area network
Mobile app
Texture mapping
State of matter
Cellular automaton
Interior (topology)
3 (number)
Shape (magazine)
Array data structure
Lecture/Conference
Ring (mathematics)
Key (cryptography)
Endliche Modelltheorie
Clef
Matrix (mathematics)
MaĆ <Mathematik>
Resultant
Distortion (mathematics)
51:48
Point (geometry)
Metropolitan area network
Medical imaging
View (database)
Branch (computer science)
Software testing
Position operator
53:13
Complex (psychology)
Building
Presentation of a group
State of matter
Multiplication sign
Direction (geometry)
1 (number)
Materialization (paranormal)
Open set
Ordinary differential equation
Arm
Dimensional analysis
Computer
Web 2.0
Medical imaging
Programmer (hardware)
Semiconductor memory
Analogy
Damping
Endliche Modelltheorie
Link (knot theory)
Satellite
Reflection (mathematics)
Amsterdam Ordnance Datum
Bit
Hand fan
Type theory
Message passing
Repository (publishing)
Telecommunication
Buffer solution
Order (biology)
Acoustic shadow
Right angle
Quicksort
Resultant
Implementation
Functional (mathematics)
Video card
Quantum state
Connectivity (graph theory)
Real number
Control flow
Lace
Mass
Student's ttest
Hand fan
Emulation
Product (business)
Sound effect
Energy level
Representation (politics)
Software testing
Maize
Acoustic shadow
Game theory
Pairwise comparison
Addition
Information management
Surface
Physical law
Expression
Content (media)
Ultraviolet photoelectron spectroscopy
Line (geometry)
Word
Computer animation
Software
Personal digital assistant
Video game
Speech synthesis
Point cloud
Object (grammar)
Game theory
Videoconferencing
9 (number)
Family
Library (computing)
1:03:52
Geometry
Functional (mathematics)
Computer animation
Angle
Real number
Video game
Writing
1:04:42
Presentation of a group
Computer animation
Sine
Lecture/Conference
State of matter
Code
Software framework
3 (number)
Object (grammar)
Website
Statistics
Library (computing)
00:02
welcome everyone will have to by orbital to your this there was talk about uh by 17 and using model of branches and have about 15 minutes minutes for questions at the end so please welcome that and fish and so they have a long time there a better off some of you may know only for the uh you with your project and believe that I will read and some of the source projects wider and more heavily involved in the sorting programming in my through specialized in development of many of you who are into the development of how many of you want to be camera in developers of uh during my you programming life I wrote about to well over imagining values languages to indicate and the system so thousand 40 and I'm a teacher baby that is dying on the dual game where I can mean where are my programming and computer graphics and future today I would like to show you how to use open GL for making your gains in life 1st of all why you need open GL all the text you can't for writing your games those are eyes for you know that it's got a have the investors towns and or billions of money in their technologies expecially knowledge of views on day but some of in there high along the in every has its internal way of programming the hardware so we we need an abstraction from the driver to the way we use the the the the the graphics on open GL directly you can oral libraries following just presently the driver of the graph is but and to the gametes from the itself the texts that matter and you can only be will be judged they do almost the same thing here direct taxes Windows Microsoft implementation of and you have made metal is the apple implementation is pretty new from 2 thousand 14 or 15 and remember and you can is the of as a newcomer indeed the I would it should it should be an evolution ontology and we will talk about religion and the last part of when choosing this year it is on the industrystandard drafted in 91 92 bicycle got its title you know that the UN ought to be called the as yet I Given genau is controlled by on the perfect organization is promised the are destined for about 5 understand that there is a lot of documentation because being an is that this is something you can learn at university and and most important for it to be used by the open GL available on all of the relevant of grading system and from 100 to the mean of lawmaker them and so on we all and like you said something that is there there libraries in the eyes of the heavily it's your entered seeing the mean of the language and battlements incompatibility of their main objectives although not text to although of tightening should way of programming what we need to do to draw on screen all our computer this is the optimal way 1st of all we have to ask our present system for something drawn be a window over the wall street we have to agree with it it's not on how to represent the piece of we could use to provide for itself and each for each color component image of the GATT want some kind of other partons forced responsible for some of that we could do all black and white so we could use a single leaf represent the basis for this lecture for serial like for all a once you we have limited effects government representatives so we have to hire located on member chunking for a for a chemist something we can on it would be on a real alliance with the size of we know screen 644 of 4 0 a D for some of the old style resolution what about between because we need to invite so if choose to use the object the support once we have this chunk of memory we can start to write a piece of that that's the the column we want to light on on on the screen on the screen and into what is now we we just finally we have to jump the gets a chance the only John weight to the unfortunately the optimal way weight so it is reasonable we need a lot of memory think about what is we have foolishly games we need 1 thousand 1 2 and the 4 1084 energy bites and that modern game I'm in a moderately expected in running at 60 frames per 2nd so you have to multiply the value for 60 per cent imagine their loaded on the how vast but we have obtained by 40 years How do want parameter so big issues personal we are we worried that to the year there is known as the result of the nation's 1st thing was using timelapse we divided the whole of the water in uh in blocks with this with be the big data over again something like that so we have to get it through because processes are the together to moving it thing on the screen we have very few colors if I remember correctly and that's the kind of has 16 colors maximum of 16 columns for those very low resolution In the model 324 2014 even there were actually the place and forget about about this is a model for the masses you should check here how you can see repeating pattern for the blocks but only some of your of greatest game is but models Split internally designated 2nd on all the you to build your support dragging the blocks on the screen like we did in the old days so you're your business and placed on the on this approach was good for more
07:23
than 10 years that is the sum of the nineties tends to come out of and those funny and published developer they started investigating through the support the 1st approach instantly was using the rate just things that it is really simple really basically we're going to be divided by all of the important but license 1 slice for each pattern itself so if you have a resolution of 200 and so you'll get 200 slices then from their point of view of the from the 1st time this should be erased and the need to define them the longest the radius of the leader with data life shut figure on the right this is what is the will of the stage unfortunately recast it is not to trick we have basically know way to put it was on a hyperplane or can rules what you can see on the right is x of people want to get on the final image on the the the game is the eigenvector of slices and the 1 on the left this is nearer to the viewer as so high don't use all the
08:56
consumer will start getting eliminated from to the effects the and we have the 1st international libraries like media there uh source told and Bruno open GL implementation following the developers to use the simulation for having a realtime streaming not to achieve yeah we don't area from begins we start getting the reality you can move on there it's axis z axis axis really
09:31
annoying nowadays we have a really powerful hardware most of them in research now have that I am I don't need you use our graphics again so we have a lot of power we are uh basically a duopoly really in the in the in the and the most important thing is to know what they say our it's got a programmable we can choose which
09:58
can of course be wrong this is not a game from the 2015 you'll have to check if you haven't played a game and if you don't know which is again you're 100 felt this is not our fault for the so what again we have done this is what position for trust me position for is not the most powerful harder to can find on maybe it is not 1 entry level see you can might understand and even if use of British in part because want something like that
10:39
what is to that it's all we can computers no from mathematical point of view to the graphics and are pretty industrial design that's we define each shape of the word in the form of polymers maybe triangles this triangles is defined like tree that is once you have defined will shape so you have to featurize applying the projection is very simple math well luminosity signal rate which was once a building a geometry of game you have to rest their spawning grounds accounting that westernization could be unknown to you but it's really simple present you have a triangle made of tree but is this restitution is the process of dividing the triangle in which of those lessons and filling them semantics it early on
11:42
from residents of 4 because comic on the right you will see what's tree artists will give you it would give you a bunch of triangles composed by that is then you restaurants that image in the center then apply text on it don't be worry about the ostentation government have might cells in that in that kind of images because as a vector from images they give you a sense of that because we have taking each accounting lighting to the final step is that and what is the text the of 2 D images that we please are on the hormonal imagine like losing a paper on the books this is another
12:36
example of system from new results during the last the geometry and the to the final result that is a sum of local accomplish is revival 1st of all since for user logical by game engine it's basically this is really a central route but is otherwise through while windows open and English cycle you click the screen input updated logic is altered their regulating everything back to 1 the 1st thing we have to do is asking present system for something draw my badge of the solution of all of the laughter jealous view being that in a we have developed a bunch of obstruction following students to start using image analysis possible these libraries are open source I will give you take can cover account of the of talk with the window glass just system for absorb context then we ontology between run to the meaning is over as asked the graphics CAD she radio to know everything it it doesn't the in the president's call a buffer for a buffer is presently the representation of each pixel
14:16
prepare your eyes for some noise the graphics card is going
14:25
in what is the farms become his memory what we haven't put anything in its memory so the memory is full of garbage this would be a acid through the problem to think about now we have the other
14:46
context we can start talking with our graphics the 1st group we want to do is clearing at all also assisted the optimal approach of having a representation of a lot of opposite fission of memory on the graphics card on the screen is loosely 1 of the 1st instructional yet to the parameter discoveries there was due to fast clear what you see on the screen this is 1 of the 1st function exposed by you NGO the use of a jet fighter by a solution by that by evangelical ah sorry I used by your because in the it does not offer up quite a lot abstraction over open jealous so it is a good way to learn all works you don't need to come by having them by original see that's and don't buy bite for all the time the RE and monitoring the presentation so
15:54
let's changes 1st of all we include all of the open GL functions open jealous and this proposal by year is seen part strongly refutes the GL string and they have not stopped the only what's on the primary data flow in together nothing more so it's very easy to use fights for implementing the now attempt refresh and at the receiver side already managing we sent to the graph itself please the the the using the geometry of the now we have lexical because very little of the screen this project commonly is feeling I call a buffer with 0 we tell OpenGeo to clear the column offered with a specific color feel 0 you have this is already there are lots
17:20
of items is the optimal we leave it as 1 so it's fully and uh taking account so that's why we need HTML you could be used to because uh starting from 0 to 205 5 in open GL degenerate into the graphics views normalized value so close go from 0 to 1 so 128 would be 0 look like and we have already
18:00
now we want students to solve drawing something before dropping something we don't engendered unabridged context and got using them in the class with a bit of computer graphics theory not in your text stream and we need to know just as so unfortunately the the last part is the hardest 1 just so if the moon programming language used to program holographic got it is our so the city of dialect of C it's not is not very hot by itself but it requires to know what to do we don't have want to once we have the tools we have to have all conventions there are a lot of convention into the woods In computer graphics weren't the industrial design and so on the 1st convention is in is that all is a righthanded retinal means but it still goes on top of with the next 1 next possible right and the same goes for the viewer so is 1 means on 0 0 0 0 is the center of the world and in all the have this Parliament and then this is not worry if you don't know or don't remember matters is pretty easy with why is called than 100 years because the 2 of 7 8 years ago we were still talking about the study pipeline you will continuously the graphics card please Joel this is the text of this position the on the back to this position joint triangle and so there was a continuous and transfer of data between your application and the not evaluates of computer graphics I've children into the Gothic style so you would not implement new think about station insects you always want to use a single when of implementing lights but there are easy really easy to start with the old the 1st of all you have to be able to talk to now after 2 tutorials you can better enjoy trying what is the difference what is more than average person graphics card which really food with a lot of you to get the memory you don't continuously send them but this is what you send out the mention that this on the beginning of the game and then drove the graphics do this With this buffer but is the only algorithmic you will find it hard coded into the cat is the last iteration view interpolation not among all of the rest of to prevent me jealous as it is a programming however we can start talking about due to they are half of the sources at the end model which allows us to really high there's a show for newcomer is this year as set it's important open duration and which it is not hard by itself from what you have to know how to use it so to draw something with modern until you need to do this that's personal defined the a object this is to think about it other than the way for shape to us as a stream of relatives remember shaders are called that is run by this once we define this vector every object we could we need to start uploading data in order to discover that would be that is the text be novels whatever lively object to mutual then need to call and uploaded to the doesn't scale or should this should this article by by your graphics then the issue of dual cone we it we don't the top it's got to stop executing its shape the job for that every game cycle was issued from all of the brackets should be called world for the vertex of the 2 executed for each vector x from mesh forward model is composed by 1 thousand of vectors biggest challenge called 1000 times direct extreme every time we get to that is we have a triangle so the because start stop the restitution the authorization we generate a lot of pixels for each itself between called the from another shit so we we call a bunch of called for every single pixel is itself huge amount of from the skull why it works well because just use our engineering for being extremely to go there are 2 views that have 500 school in so all of these thoughts are heavily relies those that we want to create better scenario binding binding is this is the way for open GL to to tell cells from our model we see is that they all you have to use you can still generate a lot of a vertex of the object of your got its start in with but yet continuously found the effects of which 1 to use your duties with the binding then we create a vector of all of the EU it's not for object for all vertices we don't know that is is the you and we don't know that accelerated his 1st argument within the just the defining a triangle I suppose it is a simple task a triangle is composed by the that is that to be represented as 2 vectors it's a lot of the better 3 or better still trying to the point In the final step is already not because in but once we have uploaded all would not have to be we can start implementing she'd write them in these sentences we combine them in we program in the skull let's start by drawing a simple trick nothing new here we said
25:07
including color as we had before then we ask the graphics to allocate 1 vertex already this 1 here is for telling the the I I look at what but this is clearly our brains in your shoes their choice no no no classes really placement and if you if you had it is an optimization of following you to generate the about so that accelerate in a single call to the graphics once we create that exactly with by the Soviets and the graph itself from now on everything we mapped to that that except for better this is referred to vertex then in the same way we generate of offer for all being aware that this is the Office of everything we write into what we you refer to this buffer we've been using new by on already of tactics we're doing a twodimensional triangle these are 3 vertices With this function here for the about week of those not in the buffer in the graphics With this we map the buffer to the index is the role of the vertex of solution then we will get patches it's not for and then we start colliding this is the magnitude this is the called that holds for every single this gold expects to a set of GL position vector for in had 3 D graphics programming we use vector for instead that this is somewhat a matter of taking for our knowing that using the combination with the 4 by 4 mattresses at the middle of school reform issue here that you will get a location 0 the 1st index of the records to better to tools structures so that it will get to float for each vertex that In our main function is to position the transforming vector to but to the is that text from lecture 4 because you're position expects vector for the IT indices complement to 1 and the W vector for the 4th element is governed but motion to 1 if you're asking yourself what is not by convention when w is 1 this referring to what position when it is central this new refrain from direction in this case all about opposition in space so we set it to 1 this is but actually and this is the front yeah we decide which color politics pixels will have In this case the we said because to blue and magenta because some kind of we just we compiled the shape a link them talk with binding occurrence program so the graphics are we know which to run at a regional industry and finally we show a dual cone we are asking or graphics cards to jolt triangles so every 3 everything but this is a list of restitution
29:13
the OK have been to try and go over
29:20
what red yeah and the and the like all
29:45
graphics card as as eagerly as single logarithm article interview and it is the interpolation for the winning the basically everything that goes out from the vertex shader is interpolated so if we television that in addition to just position we speak out the value that you will In this case I'm using the trying vertices like so if there are 4 but that's of the triangle is in position 1 0 maybe it would be not already I generate this and they tell information to use the value of the car the result
30:39
is that from 1 vertex to another we we get a blending between cost and regularly Don but if it's got why is this strike and all this still in that way because when you start the context in which it you get Austrian large 2 units don't worry about how big is a unit of from a mathematical point of view it is not really you chose what is a we could be a major role in this in and you would want to comment on is very little of the solar system but if understand we away from this 1 to 1 on from this 1 to 1 and a forward from 1 to me as long as the inverse so yeah I think particular
31:46
effect 1st triangle the
31:56
whole stream because we are going from 1 to this 1 and so in
32:10
knowing this because starts selling things it always should we call that nature leads triangle I
32:21
divided by 2 information if the graphics got this dividing the vectors is the region that I still the same sentence we could
32:44
move it horizontally we have
32:58
been to to so this finding the like
33:07
so we just to example have learned to things 1st you can scale your geometry using out multiplication addition and you can move the geometry using simple addition of now we want to use the
33:27
3rd dimension we want to get back to our model before going on we have to introduce the camera products while you are playing you did the result was the concept of karma your bicycle a reader with a camera and Iran's following the player contains there is no camera in can it is their apparent you're going to move the camera but you have the work imagine you're on top of a mountain with your account and I want to take a shot on another amount of you if you move the camera this also resulted in the mountain we don't have a common origin we think the can so we need to move toward so if they can move to the left of the resulting know what right so the camera does not exist the camera simply a matter for 1 of the just last we are in a tube of the dimension but it for faking our eyes brain we need to modified about position to the the idea of perspective the by the need to transform each let texts from that box to offers 1st thing is apparently without we don't stop it is very high school math this is uh to handle comparison basically we need to move the point the same why is Over the last line the so to have something that's really true that we need to transform all of that is and we want a get it's got to do the transformation the 1st transformation before lock toward when we 1st the and the triangle tools in its local coordinates then we moved to the right they think what the bases is an object and moved around the world that is we need to transform this on onto positions in respect to the camera if they come around to right we need to move again these objects the left finally we need to transform each of these vectors is then projected using this form go again with that like all of those transformations you know when she I don't mean much to you can do transformation manually as we did before scanning and moving the that but the best approach is to use a lot of this the story there pretty easily basically you build up a 4 4 really which specifically the dopamine specifically alter multiplying those methods by your vector which we call the vector trans formed by this and on the left to have a translation methods and metrics used for moving objects around the world of the semantics is pretty easy there's only 1 or is yet and analytics like on the right to specify how much the optimum the result we get new vector of more in that direction still we know scanning is a simple multiplication of vectors and these metrics allows you to transform and scale so your the models with the bigger thing then we have a rotation general data were model into what professional it complicated but rule is always the same we have and that social and motivated for a 4 by 4 men but these can be combined together and this is why it is the preferred with for meeting transformation of and we can be just single 4 by 4 matrix we the transformation we need a single mothers can represent the an foundation insulation and finally we are able to to draw something like to
38:02
cold this time a direct result of additional because this is the interesting uniform other variables we can set in our game rules we can constantly changing the value without needing to react recompiled issue this this situation 1 of the transformation continent because we want to the power geometry representing the coming so emerges from representative of translation makes searches and on we generate color and we generated a new vertex would the original by word of mouth effects in econometrics the result will be something that in perspective the frogmarched and is basically the same as before we said the to genetics extent something pretty random the duration we uploaded this I'm going to get killed so we have 6 faces each face is is composed by 2 triangle so we upload a good amount of that trying to infer from 2 trying to perform to change for better right left top down and so this is to into already milled we start mentally in it is not at all because the story here but the input is released it is key presses yes I don't know and this is what we generate a match its this is a simplified which later 5 units so far but if Europe we paid by the amount of the user should use the word lead a scale of 1 1 1 so we don't change in this case then we generate the camera metrics that is not compositional of what prospective moderates emergence presenting a perspective projection and I can remember it we are moving electrons have 5 units from the object and in this way we upload the to what this is on the left and we show Digital
40:57
be prepared for another noise
41:01
visual noise you know what you mean when we started having you but yeah sure friend something is wrong what's happening better you are experiencing the same file the sense are fighting for being mosque near to the common this is not another solution we want the so on the nearest the come out to be the from most I we can solve these this is
41:38
something that we can delegate to the graphics of because in addition to to the core the representation of pixels in the graphics government with yeah the death of of the Prophet with this inside of your adjusted context in which you store for which itself is still have the value with the lowest see we know the value we can use to
42:11
implement this we have to have the chair test and for every growth
42:19
cycle we have to clear the economy is and the debt buffer or for the 1st time without I
42:32
it with so we have seen how to
42:47
implement perspective how to fix the finding a but to start voting we want something that not really ought to upload a file formats for electric motors 1 of the oldest and most easy to use is region for want that they must use it in New Guinea industries have the excerpt from 1 of the the advantage of object is but textbook 5 former it this bicycle a list of all the vertices you want to draw I don't oracle is the same a picture of 1 it's the same we we will imported or what due to other this is by the text fossil that we generate on and new irony of full of as best as here we open the file been uploaded expected this to the skull the it however country this is our across the ice storm to there is still not liking in place what you going to check if you would you can even check interpolation between colors is a feature of the colors I think it is but to serve them thanks to the goal of what I truly groups
44:40
I don't if what color anymore look
44:57
OK this is our like the difference what
45:07
is like writing this pattern lights management to your model furthermore forget about accuracy lacking in the physics world is completely different and too much complex not get to implement there actually computer there are good reasons that our teaching you how to how lighting what's in the physical world we are interesting and buttressing body absolutely not usable for real and that we need to absolutely sacrifice indirect lighting indirect lighting is there bouncing ball lights that generated the phenomenon of like a collar reading and sold this they're still get food additional costs from the light reflection is is a bunch of his people black because of my short bad bounces off the desk and solve the problem of the relative to the scene but fortunately are really slow to implement the before sinking life I'm implemented so constant game we need to introduce In the OBJ file should you know before In addition to to represent that are under a bunch of vectors defining moments for this vector X non must define the direction that systems imagine that but about it's over my head it's normal would be on top of my head going over the its own axis I will remember shaking shaking come from the artistic will speak in because we generate change for formation there are approaches Francis fluctuating did all the you can see it on supermodel for nearly 10 64 so you clearly what do you want to stand this is the only 1 because because everybody has a different color and we have to achieving it the between more realistic and this is the argument and encoded in there dear sex so you have it's got for example then it's functioning and that is basically the most users will argue that you know what is carrot lots of history that stands for physios the that's rendering let me took some of the physical properties of a material and we report them in the we we like to the all of those hungry more about this is that the former president again in are based on this information the the diffuse lighting and form methods and Mr. Lambert says did not the course in generated by the vector x from the lie that so from the direction from the light to the vector X it it's normally that the ideas because in that case it would more alike let's see however how we could use it to going In addition to factors now we toploading the graphics card even the normals which vector and our exchanges we speak on the Lambert that Lambert value is a value between 0 and 1 because it is not sporadic function which killed from meters 1 to 1 and so on we are interested in the values between minus 1 and because from the light onto they are not shaded so 1st we compute with laser light in Austin because a light content it's itself then we compute the light direction it is a simple formula is the normalized values but there's some structure between the destination that is all about the and the stock that is the position the then we take normal that's remember the normally you find in the OBJ file is not in coordinates it is a lot of this if we move the object the to move even if so in order to buy the normal for the Web Metrics and we compute the lumber the a linear algebra we have the dot product operation that his bicycle retirement because between 2 vectors so in a single shot can compute the last lecture but we don't want them even though it is so we use the max function to describe all of the values and I can in the front initiative was to use the white whitecollar but we want to evaluate for the Lombard it is I suppose simple format but there is this the
50:40
distortion this is the result it is the same code as before about adding the Lambert value we get that we got there we get for our model obviously we
51:04
can the like we could place under the shape of the you get lights
51:18
from 0 to to best thing is
51:29
managed again with the graphics can you upload the text of the agreement is and you can say that it's got to based on our on model this is a text corollary stand to results from the twodimensional image and
52:02
because is again the same but we need another branch of the is of the view the coordinates why they're going the official answer is because the x and y are really taken join the at the encore point obvious which that it's basically they which makes itself all the text talk test have Pacific the text or but this year there remain the same we only best UP be coordinates the frog mission and we stopped using playing like that and is that we used itself the by the you know the position of the text
52:49
there's doubt is a staunch over this text the you can see it black good the image for the better we are not far from what you can
53:13
find in a modern this is enough for a game 1st of all if you want to go electrical so you want to remove build that I gave you for the masses think about it twice because know what it is Tripoli game is like an knowledge production you need a lot of money on the team and so on if you want to go that way you will agree to sort out features 3 image 1st of all and you have to start making lights computing lights especially for not moving object is a waste of resources so you'll precompute life and not by must text when the model this is where you you can precompute shuttles we haven't seen how to build shadows in OpenGeo but it's not so complex and precompute indirect lighting in this case we use of like interlacing parties in the to the dialog of time to prove another text or containing the reflection of the objects are on the street you start implementing states can dimensions so you up quite a bit of a skeletal to each of your models and you can make more that's moving the ball who you could use the of often is implemented by the discovery and allow you to store a constant value in a buffer for speech it is used for educated shadows bolometric clouds of using is thing is sensing allows you to upload a single model to the graphics got always thousand times we do a lot of things you have to your images of the games against this is messages must be fun the new is optional intermodal clocks and they are still far more days after 40 years we still enjoy the evidence you can and understand and use fundamental by the this saying it is managing of India where can these are really lonely the lonely like illegal in the it is so low that the crimes so to start building layers between open GL and you can because you can use to much complex so very probably you will never stops developing we can but we started going to developing we don't yell have reached to this is a bunch of usable the last 1 is the repository of where the deductible libraries was funded by the local there I strongly suggest you want to check the illegal in the central law there is a g to the recasting equals each describes you out games like was assigned the old and the implemented you should be called because questions b and
56:44
thank thank you so much have questions use the word for them onto the 3 the recorded this things for the and the you know it's there are implementations will the ball comes maybe I like the OpenGeo implementation according who was he types frankly I'm not aware of that but I don't think the real world there are maybe implementation because intelligibility is data about communication for into a of a couple of months ago and is still low and stable and if there is a stock so we need to see do submit adding something usable there more of question about what it's like conventional and how often is Python actually used for this sort of gaining and graphics that 1 of the reasons why I'm asking is I think I saw something from community and stops all when the years is that good question with us said as it is very likely you will be able to build all only with my but from what I can tell you what that see in as a teacher the by the as i with value we general with because by Confucius programmers students to cold weather you know no way your coworker or other people can understand what could and this is a skill that very few large for game developer and this is sort a problem in the game industry approach is that the I was established in order right the industries that testing I joined methodologies this is the in beginning work so it is very important for us to reach this goal is think with Python In addition to this thing again is not only building the graphics engine so very probably it was such a thing of the other 2 or artists who up to the right of this name is 1 of those companies using Python for building tools practices the despised and for the network in not only for their multiple talking about surfaces you can be the Web API for game now as the need for a eye and so on for the do not expect to be able to write a whole game with the with my expression because now we have things like unity treaty real engine that's a really almost I will not start to look at it from scratch for learning about like when I just told him to buy the a component for both any other questions this knowledge you here 1 more possible their text and opened in what would you say of the pros and cons besides Microsoft 11 times in a little bit biased because I'm a big fan of Copenhagen's of technology and content of directives 12 is very near to as of approach to prevent the fact that sort of thing must the longer it takes 11 because from this too much difficult for them so Microsoft is investing a lot in the text but frankly making a comparison between the 2 babies with the with the the lights percentage yeah because the right ones that later thank you so there are no questions asked 1 question and what the story can bring breaks in comparison to a sorry and the can compare to move and the family is rewritten really you have to allocate memory manually when you get this stack remember to free the you upload graphics got of binary representation of the utterance of the journalists and which is really really something you be interesting for the developers that in all to twice that of it's more interesting for which the we time to so does that mean that it's it's a bit similar to to open good not at that level yeah 0 well maybe always tell you this too much higher level of respect through the a Puritan and it just seems that OpenGeo to make some their presentations related showing it seems that they're not going to have to use things that can be used with by yeah absolutely we work with them on some racing the team for making the data for the so we use of Jewish analog of that parts of with my in more questions it's simply you have more opinions about function eaters I was wondering if you could maybe explain whether they're used and if they are to used for an the where following here I prefer functioning Over the years now because you requires your whole graphics that came into to use that approach through building text choosing materials and so personally every time I need to interact to match without it something goes wrong with with a functioning and I bit more responsible of the final result of the the of the game in addition to these implemented from shading it a mother 5 lines Genesis implementing it young visits rendering is about 200 lines of creating unavailable In addition to the user with the functioning and you need to implement the 2 sliding with Lambert you need to implement
1:03:53
ambient lighting and that is basically and liking it emulates the fact that in real life but not in the school completely so to Hamlet facilities
1:04:13
reversibly other people think like a the then we need to
1:04:28
spectral writing that is the phenomenon from which when you're using angles between geometry the light reflects perfectly with your eyes so you will see Chinese and then you don't finish implementing a function
1:04:43
begin you need to introduce the Fresno aspect notion of the the present is that the the phenomenon that the objects tend to get more lights on the edge it's not really is to so president I more towards
1:05:02
the old stifle shaking because it the OK thank you we will end the session here as you have more questions and you can contact me directly orbital outside thank you