cd2012 principles of interactive graphics lecture 08
Download
Skip this Video
Download Presentation
CD2012 Principles of Interactive Graphics Lecture 08

Loading in 2 Seconds...

play fullscreen
1 / 18

CD2012 Principles of Interactive Graphics Lecture 08 - PowerPoint PPT Presentation


  • 105 Views
  • Uploaded on

CD2012 Principles of Interactive Graphics Lecture 08. Objects and Interactions Abir Hussain www.cms.livjm.ac.uk/cmsahus1. Previous Lecture. Creating texture within program Using texture Texture co-ordinates. Recall-Texture co-ordinates.

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

PowerPoint Slideshow about ' CD2012 Principles of Interactive Graphics Lecture 08' - brygid


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

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


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
cd2012 principles of interactive graphics lecture 08

CD2012Principles of Interactive GraphicsLecture 08

Objects and Interactions

Abir Hussain

www.cms.livjm.ac.uk/cmsahus1

previous lecture
Previous Lecture
  • Creating texture within program
  • Using texture
  • Texture co-ordinates

CD2012-08

recall texture co ordinates
Recall-Texture co-ordinates
  • The coordinates of textures are named s along the X axis and t along the Y axis
    • The values of S and T range between 0.0 and 1.0
    • We can use values between 0.0 and 1.0 to select part of the imaged to be mapped, or
    • We can use values greater than 1.0 to map multiple copies of the single texture across a polygon
  • Texture coordinates are set for each vertex of the target polygon with glTexCoord2f()

CD2012-08

introduction
Introduction
  • In CY2001 you will have come across concepts such as:
    • Defining Classes and Objects
    • Encapsulation (private variables and functions for classes)
    • Polymorphism - functions with the same name but different parameters
    • Moving from OO design to OO Programming

CD2012-08

introduction1
Introduction
  • Abstraction (to different levels) is the main technique of problem solving in Computer Science.
    • OOD works by abstracting out the essential classes of objects in a problem.
    • identifying their attributes and their functionality
  • OOD and OOP help control the complexity of larger systems development.
    • In your own programs you will have seen the Display() function grow in size with the complexity of the graphical scene.
  • How could you have use OOD and OOP to control and manage this growth?

CD2012-08

oo graphical user interfaces
OO Graphical user Interfaces
  • Smalltalk 80 was the first complete object-oriented programming environment.
    • http://www.cincom.com/scripts/smalltalk.dll//downloads/index.ssp
  • Everything in Smalltalk-80 is an object, from integers upwards.

CD2012-08

oo graphical user interfaces1
OO Graphical user Interfaces
  • The designers chose to split an application up into three part
    • The View - the graphical part
    • The Controller - the input handling part
    • The Model - the logical part of the application (text handling, database handling or whatever)
  • Objects in the Controller (e.g. a menu handler) send messages to the Model to do some calculation, which then sends a message to update the View.

CD2012-08

designing your own graphical object
Designing your Own graphical Object
  • OpenGL is designed around the idea of sending commands down a graphical pipeline.
  • This maybe a good way of developing graphically intense programs such as games.
    • While this reflects the underlying hardware it is not always the best way to program all graphical applications.

CD2012-08

designing your own graphical object1
Designing your Own graphical Object
  • In your coursework you may have split up the display() function to call other functions to draw the parts of the scene
  • For example, a car() function which could draw a car in various locations

CD2012-08

designing your own graphical object2
Designing your Own graphical Object
  • The car() function could be extended to further parameters such as:
    • Colour of the car
    • Size of the car
    • Model of the car
    • The doors and the windows

CD2012-08

designing your own graphical object3
Designing your Own graphical Object
  • We could take advantage of OOD and design a car Class comprising:
    • Private attribute of the attributes listed above
    • An attribute for the current_location value
    • Constructors to create a new Car object
    • A draw function (hiding the OpenGL implementation)
    • An update function to change current_position and redraw the car

CD2012-08

designing your own graphical object4
Designing your Own graphical Object
  • The rest of the program would then only communicate with the car via
    • car.setCurrentPosition(int x, int y);
  • Think for a moment of what other objects in your scene you could create classes for
    • What would be their attributes?
    • What methods would be needed?
    • What attributes would be exposed to the rest of the program to update your object?

CD2012-08

coursework 2
Coursework 2
  • In the second coursework, you are required to built a 3D office.
  • Use a pop up menu, keyboard interactions and buttons to allow the office:
    • To rotate about the three axes.
    • To scale the office in x and y-axes.
    • To change the colour of the various parts of the office from a choice of three colours.

Extra mark can be gained by performing the three types of interactions!!

CD2012-08

today s lab
Today’s Lab
  • Demonstration of coursework 1
  • You are required to submit a copy of your program (even if it is not completed)

CD2012-08

summary
Summary
  • Object Oriented programming and design
    • Object oriented graphical user interface
    • Designing your own graphical object
  • Coursework 2
  • Demonstrating coursework 1

CD2012-08

ad