Modern OpenGL with Python

Video thumbnail (Frame 0) Video thumbnail (Frame 10947) Video thumbnail (Frame 13209) Video thumbnail (Frame 14939) Video thumbnail (Frame 17424) Video thumbnail (Frame 18794) Video thumbnail (Frame 21338) Video thumbnail (Frame 23767) Video thumbnail (Frame 25848) Video thumbnail (Frame 37450) Video thumbnail (Frame 43720) Video thumbnail (Frame 45880) Video thumbnail (Frame 47634) Video thumbnail (Frame 48879) Video thumbnail (Frame 57033) Video thumbnail (Frame 61363) Video thumbnail (Frame 63149) Video thumbnail (Frame 66857) Video thumbnail (Frame 75925) Video thumbnail (Frame 77690) Video thumbnail (Frame 79090) Video thumbnail (Frame 85018) Video thumbnail (Frame 95794) Video thumbnail (Frame 97046)
Video in TIB AV-Portal: Modern OpenGL with Python

Formal Metadata

Modern OpenGL with Python
Title of Series
Part Number
Number of Parts
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 non-commercial 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.
Release Date

Content Metadata

Subject Area
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 re-designed 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 pseudo-c dialect, so expect a bit of lower-level programming
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) Self-organization 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)
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)
Personal identification number Computer animation Computer hardware Computer hardware Energy level Game theory Plastikkarte Mereology Power (physics) Position operator Power (physics)
Point (geometry) Geometry Polygon View (database) Shape (magazine) Dynamic random-access 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
Geometry Context awareness Presentation of a group Pixel Open source View (database) Student's t-test Open set Logic Representation (politics) output Loop (music) Game theory Physical system Window Noise (electronics) Graphics processing unit Touchscreen Computer-aided design Bilderkennung Arithmetic mean Computer animation Logic Buffer solution output Summierbarkeit Game theory Cycle (graph theory) Routing Resultant Window Library (computing)
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
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
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 t-test Infinity Theory Emulation Value-added network Writing Read-only memory Lecture/Conference Average Shader <Informatik> Authorization Computer-assisted translation Task (computing) Mobile app Context awareness Graphics processing unit Dialect Electronic data interchange Scaling (geometry) Polygon mesh Poisson-Klammer 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)
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 Value-added 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
Interpolation System call 3 (number) Emulation Lecture/Conference Single-precision floating-point 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
Point (geometry) Context awareness Clique-width View (database) Execution unit State of matter Code Sound effect Inverse element Mathematics Computer animation Vertex (graph theory) Default (computer science)
Fisher information System call Vector space Natural number Computer cluster Triangle Streaming media Wide area network
Geometry Point (geometry) Three-dimensional 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
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
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
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
Complex (psychology) Texture mapping Direction (geometry) Parameter (computer programming) Disk read-and-write 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 Well-formed 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)
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)
Point (geometry) Metropolitan area network Medical imaging View (database) Branch (computer science) Software testing Position operator
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 t-test 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)
Geometry Functional (mathematics) Computer animation Angle Real number Video game Writing
Presentation of a group Computer animation Sine Lecture/Conference State of matter Code Software framework 3 (number) Object (grammar) Website Statistics Library (computing)
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 industry-standard 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 time-lapse 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
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
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 real-time 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
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
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
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
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
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
prepare your eyes for some noise the graphics card is going
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
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
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
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
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 right-handed 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
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 two-dimensional 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
the OK have been to try and go over
what red yeah and the and the like all
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
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
effect 1st triangle the
whole stream because we are going from 1 to this 1 and so in
knowing this because starts selling things it always should we call that nature leads triangle I
divided by 2 information if the graphics got this dividing the vectors is the region that I still the same sentence we could
move it horizontally we have
been to to so this finding the like
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
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
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
be prepared for another noise
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
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
implement this we have to have the chair test and for every growth
cycle we have to clear the economy is and the debt buffer or for the 1st time without I
it with so we have seen how to
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
I don't if what color anymore look
OK this is our like the difference what
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 top-loading 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 white-collar but we want to evaluate for the Lombard it is I suppose simple format but there is this the
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
can the like we could place under the shape of the you get lights
from 0 to to best thing is
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 two-dimensional image and
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
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
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 pre-compute 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
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 co-worker 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
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
reversibly other people think like a the then we need to
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
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
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