Modeler Help Session CSE 457, Spring 2006 Modeler Due: Thursday, October 26th Modeler Artifact Due: Monday, Oct. 30th Project TA: Sierra

Slides:



Advertisements
Similar presentations
TortoiseSVN By Group 1 Team B. Installing TortoiseSVN.
Advertisements

Working with Profiles in IX1D v 3 – A Tutorial © 2006 Interpex Limited All rights reserved Version 1.0.
 Please sit next to your partner.  If you don’t have a partner, please find one now.
CSE 457 Modeler Help Session Lovingly brought to you by: TA Steve.
Using GLU/GLUT Objects GLU/GLUT provides very simple object primitives glutWireCube glutWireCone gluCylinder glutWireTeapot.
Version Control System (Sub)Version Control (SVN).
Windows XP Basics OVERVIEW Next.
Due: Thursday, April 28 th by the stroke of midnight! TA: Jeff Booth.
MAT 594CM S2010Fundamentals of Spatial ComputingAngus Forbes Overview Today: - Make sure everyone is set up with an OpenGL environment - OpenGL basics:
Lab 1: OpenGL Tutorial CS 282. What’s the plan for today? Go over our framework code. Learn some basic OpenGL! Reveal Lab 1 Answer questions.
Using subversion COMP 2400 Prof. Chris GauthierDickey.
1 Distributed File System, and Disk Quotas (Week 7, Thursday 2/21/2007) © Abdou Illia, Spring 2007.
Modeler Help Session CSE 457, Fall 2005 Modeler Due: Oct 28, Friday Modeler Artifact Due: Oct 31, Monday Project TA: Jeremy
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Week:#14 Windows Recovery
Please open your laptops, log in to the MyMathLab course web site, and open Quiz 3.1 IMPORTANT NOTE: If you have time left on your quiz clock after you.
2IV60 Computer Graphics 2D transformations
Hierarchical Transformations Hierarchical Models Scene Graphs
Animator Project CSE 557. In this project… Create your own hierarchical model Create keyframe animations Create smooth keyframe animations Create particle.
1 Chapter Overview Creating User and Computer Objects Maintaining User Accounts Creating User Profiles.
SubVersioN – the new Central Service at DESY by Marian Gawron.
By Steven Campbell and Erik Boone.  Sharing projects by putting them into a central repository.  Checking out copies of projects from the repository.
Version Control. What is Version Control? Manages file sharing for Concurrent Development Keeps track of changes with Version Control SubVersion (SVN)
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
How to Download and Install a Sharp Print Driver on a Mac.
1 Topics for this Lecture Software maintenance in general Source control systems (intro to svn)
Mouse-Based Viewing & Navigation Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Monday, November 3, 2003.
Google Sketchup Lab Mr. Garner Tech Ed Lime Kiln MS.
Why you should be using Version Control. Matt Krass Electrical/Software Engineer November 22, 2014.
Version Control with Subversion Quick Reference of Subversion.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Warmup A programmer’s wife tells him, “Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen.” The programmer.
1 ITI 1120 Lab # 1 An Introduction to the Lab Environment Contributors: G. Arbez, M. Eid, D. Inkpen, A. Williams, D. Amyot.
…using Git/Tortoise Git
Homogeneous Form, Introduction to 3-D Graphics Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Monday, October 20,
Modeler Help Session CSEP 557, Spring Help Session Overview The Modeler Application Modeler Code Overview Constructing Your Model Hierarchical Modeling.
 Checking out, building, and using the sample solution  Part 1: Surface of Revolution  Part 2: Hierarchical Modeling  Part 3: Blinn-Phong Shader 
Using Subversion and TortoiseSVN for Windows by Galen Wilkerson Gund Institute for Ecological Economics University of Vermont
Version Control Systems with Subversion (SVN) and Tortoise.
(Sub)Version Control. 2 Keep large teams working on the same code Back up your work so you don't lose it all Compare changes to previous versions Revert.
Study for Migration from CVS to SubVersion (SVN) Gunter Folger CERN/PH/SFT.
Review of OpenGL Basics
A Simple Introduction to Git: a distributed version-control system CS 5010 Program Design Paradigms “Bootcamp” Lesson 0.5 © Mitchell Wand, This.
Advanced Viewing Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, October 31, 2003.
1/50 CS148: Introduction to Computer Graphics and Imaging Transforms CS148: Introduction to Computer Graphics and Imaging Transforms.
When collaborating, it is important to manage changes in the models. For example: –To create or edit a submodel E.g. Habitat suitability is replaced with.
Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
1 Project 7: Looping. Project 7 For this project you will produce two Java programs. The requirements for each program will be described separately on.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Problem Solving With C++ SVN ( Version Control ) April 2016.
School of Computer Science
Version Control with Subversion
SVN intro (review).
Source Control Dr. Scott Schaefer.
A Simple Introduction to Git: a distributed version-control system
User guide for Direct Observations equipment use
slides borrowed and adapted from Alex Mariakis and CSE 390a
Design and Programming
Modeler Help Session CSE 457, Autumn 2008
Projection in 3-D Glenn G. Chappell
Modeler Help Session CSE 457, Spring 2006
Modeler Help Session CSE 457, Spring 2005
Modeler Help Session CSE 457, Autumn 2007
Modeler Help Session CSE 457, Spring 2008
Modeler Code Basics CSE P 557, Autumn 2006
Modeler Help Session CSE 457, Spring 2007
Prepared by your friendly, phantom TA Jennifer
Presentation transcript:

Modeler Help Session CSE 457, Spring 2006 Modeler Due: Thursday, October 26th Modeler Artifact Due: Monday, Oct. 30th Project TA: Sierra

Help Session Overview The Modeler Application Modeler Code Overview Constructing Your Model Hierarchical Modeling in OpenGL Warnings & Hints Example Models

The Modeler Application Two main windows: Control window with sliders Model view window To navigate in the model view window: Left-click : Rotate the camera Middle-click : Move the point that the camera is looking at (Translation/Dolly) Right-click : Zoom in/out

Modeler Code Overview modelerapp.* and modelerui.* handles the user interface modelerapp.h defines the ModelerApplication class which handles the setting of control values modelerdraw.* supports the drawing of primitive shapes and material attributes

Modeler Code Overview modelerview.h defines the ModelerView object base class of your model – your model will be a subclass of ModelerView handles OpenGL drawing and event handling modelerview.cpp provides some base functionality such as setting up lighting and handling camera controls

Modeler Code Overview Hands Off! on the following files: modelerapp.* modelerui.* modelerdraw.* modelerview.* For the animator project, you will be re-using your model source file and plugging it into a different application. If you change modelerapp.* or modelerdraw.*, your model may not work with the animator project!

Modeler Code Overview What DO you get to change? Camera.* Controls camera functions Look in camera.cpp to implement your own version of gluLookAt() Sample.cpp Example BoxModel - you will replace this with your own model file To start: copy sample code and then modify in order to include the methods you need. Eventually remove sample.cpp file and replace with.cpp

Modeler Code Overview Some helpful files (that you should also not change) Modelerui.fl is a data file that controls the FLTK user interface Vec.h & Mat.h contains useful vector/matrix operations

Constructing Your Model Make all changes in Sample.cpp Draw() function is where you will build your model Main() function initializes the controls Add slider controls Enum statement at the top of the file defines the names and number of controls Add controls both to Enum and main Remember to keep NUMCONTROLS variable at the end of the Enum list

Hierarchical Modeling in OpenGL OpenGL is a state machine glEnable()/glDisable() changes the state Once you change something, it will stay that way until you change it to something new! This includes: current color, transformation details, drawing modes, information about the lights, etc. OpenGL maintains a transformation matrix that is applied to everything that is drawn In other words: transformations are cumulative Perform transformations glRotated(), glTranslated(), glScaled() relative to the previous drawn object

Hierarchical Modeling in OpenGL How do we get back to an earlier transformation matrix? glPushMatrix() & glPopMatrix() Keeps track of the state of your model in a stack If you want to make changes and then undo the transformation matrix, glPushMatrix() will keep track of where everything was When popped off the stack, will return to those values

Warnings & Hints Keep track of your pushes() and pops() – having unmatched pushes and pops can cause a lot of grief! It can help to divide the draw routine into a series of nested methods, each with their own push and pop. Implementing gluLookAt(): Look in your slides and in the OpenGL Blue Book, but make sure you understand how it works! Implementing the animation sequence: have a slider control multiple aspects of the model

Warnings & Hints Worthwhile bells & whistles that will help you out down the road: Cool lighting/camera effects Smooth curve functionality/swept surfaces

Example Models Looking for inspiration? Example models can be found on previous quarters’ websites A short list of sample executables available at: CurrentQtr/projects/modeler/newdoc/demos/ CurrentQtr/projects/modeler/newdoc/demos/ A quarter of very impressive models: 02au/projects/modeler/vote/winners/ 02au/projects/modeler/vote/winners/ More links on the project page

Source Control Group Directories have been set up Each has a two character name (e.g. “cb” Directory Structure: source_cvs: A CVS Repository containing the skeleton code source_svn: A Subversion repository containing the same skeleton code turnin: A folder for placing your final executable, source, and artifact

Source Control (cont.) Two different repositories have been set up since some people seem to prefer one over the other If you are on campus, both should always be accessible Off campus access to CVS should be similar to previous project, but SVN may be difficult to use off campus PICK ONLY ONE TO USE, and delete the other source folder before starting to ensure no accidental switches This may seem obvious, but changes to one repository will not affect the other one

Avoiding CVS/SVN conflicts In general, never put automatically generated binaries into source control modeler.suo, modeler.ncb, Debug\*, Release\* Avoid *.user files too These binaries will cause a conflict at practically every commit when both people are working on the project

Save your files! DO put source files (*.cpp, *.h, *.sln, *.vcproj), image files, etc. in the repository If you create any new files remember to both add AND commit the files to avoid loss

Avoiding Profile & Network Issues Most CSE lab computers have a ThawSpace drive (typically “F:”) This drive is NOT automatically erased on startup/shutdown Working from this drive will prevent uncommitted data loss in the event of a crash Also, check that you are not exceeding your CSE profile space of 500 MB (~150MB on aria) to ensure that your profile will be saved when you log off. THIS SHOULDN’T BE A PROBLEM SINCE WE’RE NOW HOSTING AT /projects/ It may be a good idea to always add/commit your functioning code before logging off

Test the Source Control Early The only way we can fix problems is if we know about them So, verify that your repository works by checking it out, building it, tweak something, and commit If something fails, please let us know so we can fix it

For More Information CVS: SVN: TortiseSVN: