Winamp Visualization Tutorial Hadi Fadaifard. Introduction  MP3 has become quite popular in the past 6 years.  Good compression  Winamp: The most popular.

Slides:



Advertisements
Similar presentations
ENV 2006 CS4.1 Envisioning Information: Case Study 4 Focus and Context for Volume Visualization.
Advertisements

Using 2D sprite with OpenGL 2003 team Koguyue. Overview Motivation and basic concepts Advantages with using OpenGL Basic requirements of implementation.
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
1 Introduction to Computer Science بسم الله الرحمن الرحيم MULTIMEDIA LEVEL -9 King Khalid University Kingdom of Saudi Arabia Ministry of Higher Education.
3D Graphics Rendering and Terrain Modeling
Basics. OpenGL. “Hello world” George Georgiev Telerik Corporation
Advanced Graphics, Overview Advanced Computer Graphics Overview.
CS5500 Computer Graphics © Chun-Fa Chang, Spring 2007 CS5500 Computer Graphics April 19, 2007.
3D Development In Java CCNY Capstone Project By: Peter Giang.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Introduction to Computer Graphics Ed Angel Professor of Computer Science, Electrical and.
Essentials of Interactive Computer Graphics: Concepts and Implementation K. Sung, P. Shirley, S. Baer Chapter 12 Chapter 12: Making the Applications Interesting.
Introduction to OpenGL. What is OpenGL OpenGL is a low-level software interface to graphics hardware No commands for performing windowing tasks or obtaining.
Essentials of Interactive Computer Graphics: Concepts and Implementation K. Sung, P. Shirley, S. Baer Chapter 4 Chapter 4: Working with Graphics APIs.
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
A Games Class Using XNA Game Studio Express Art Gittleman California State University Long Beach
Introduction of Some Useful Free Software Cheng-Han Du.
Graphics Graphics Korea University cgvr.korea.ac.kr Introduction to Computer Graphics.
Course Overview, Introduction to CG Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, September 5, 2003.
CS 480/680 Computer Graphics Course Overview Dr. Frederick C Harris, Jr. Fall 2012.
3D Visualisation of Simulation Data. Informal Seminar 08/03/2004. By Chris Sweet.
Week II Platforms and Engines. Overview Platforms and Engines Tools and SDKs Netbeans Game Development Walkthrough
1 Lecture 12: Multimedia Not in Web 101 Text  Important Multimedia Issues  Audio  Movies and Video  Multimedia and HTML Documents.
Advanced Computer Graphics March 06, Grading Programming assignments Paper study and reports (flipped classroom) Final project No written exams.
2.02G Publishing Animated Videos 2.02 Develop Computer Animations.
Image Synthesis Rabie A. Ramadan, PhD 2. 2 Java OpenGL Using JOGL: Using JOGL: Wiki: You can download JOGL from.
3D API By Clayton Azzopardi (Group 10). Introduction Android uses the OpenGL ES 1.0 API Android uses the OpenGL ES 1.0 API Open Graphics Library for Embedded.
Graphics Programming using OpenGL. OpenGL is a software interface that allows the programmer to create 2D and 3D graphics images. This interface consists.
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
Sound or Audio, whichever you prefer –MIDI Files.midi or.mid (Musical Instrument Digital Interface) use for instrumental music. –This format is supported.
Multimedia Software Tools. 3-D Modeling and Animation Tools 3-D modeling gives images a 3-dimensional look. It can be used along with animation, for instance,
 Supervised by Prof. LYU Rung Tsong Michael Student: Chan Wai Yeung ( ) Lai Tai Shing ( )
University of Sunderland CDM105 Session 6 Dreamweaver and Multimedia Fireworks MX 2004 Creating Menus and Button images.
Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac.
1 Introduction to Computer Graphics SEN Introduction to OpenGL Graphics Applications.
Computer Graphics I, Fall 2008 Introduction to Computer Graphics.
1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 CS4610/7610: Introduction to Computer Graphics.
1 Computer Graphics Week2 –Creating a Picture. Steps for creating a picture Creating a model Perform necessary transformation Lighting and rendering the.
Control flow for interactive applications CSE 3541 Matt Boggus.
Soundscapes James Martin. Overview Problem Statement Proposed Solution Solution Created (Modules, Model, Pics) Testing Looking Back See It in Action Q&A.
CSE 681 Introduction to 3D Graphics. CSE 681 Computer graphics is “the creation and manipulation of graphics images by means of computer.” (Marc Berger,
Image Synthesis Rabie A. Ramadan, PhD 4. 2 Review Questions Q1: What are the two principal tasks required to create an image of a three-dimensional scene?
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
1 Welcome Alireza Moghaddam Humber College Lecture 1 Game 540 Alireza Moghaddam
 Music media for storing music has been constantly changing. Why? Companies have been trying to make it more convenient.
Development of a Software Renderer for utilizing 3D Contents on a 2D-based Mobile System Sungkwan Kang 1, Joonseub Cha 2, Jimin Lee 1 and Jongan Park 1,
3D Engine II December 17, computer graphics -dpi.
Rujchai Ung-arunyawee Department of Computer Engineering Khon Kaen University.
Photo VR Editor: A Panoramic and Spherical Environment Map Authoring Tool for Image-Based VR Browsers Jyh-Kuen Horng, Ming Ouhyoung Communications and.
GAM666 – Introduction To Game Programming ● Programmer's perspective of Game Industry ● Introduction to Windows Programming ● 2D animation using DirectX.
Computer Graphics and the Game Industry Speaker: Ted Bisson.
Working with CAD Data In ArcGIS Travis Wagner. New Features Adds CAD datasets as group layers –Still have the ability to access all feature types properties.
1 Perception and VR MONT 104S, Fall 2008 Lecture 20 Computer Graphics and VR.
Overview  Basic requirements of implementation  Image resource  Texture mapping  Advanced requirements of implementation  KGL sprite class.
Overview Using Plugins Developing Plugins Basic Examples / Demo Outlook Overview Using Plugins Developing Plugins Basic Examples / Demo Outlook Plugin.
Visualization of Three-Dimensional Geometric Models in a Stereoscopic System Rositsa Radoeva Assistant professor at St. Cyril and St. Methodius University.
- Introduction - Graphics Pipeline
CS4610/7610: Introduction to Computer Graphics
A lap around DirectX game development tools
CS451Real-time Rendering Pipeline
CSC020, Computer Graphics Assignment 4 - Lego (using layers and masks)
Introduction to Computer Graphics
Introduction to Computer Graphics
I Can’t Hear You! Sound Get out your notes.
Chapter I Introduction
Computer Graphics Module Overview
CS5500 Computer Graphics April 17, 2006 CS5500 Computer Graphics
Desktop Window Manager
I Can’t Hear You! Sound Get out your notes.
I Can’t Hear You! Sound Get out your notes.
Introduction to 3D Graphics
Presentation transcript:

Winamp Visualization Tutorial Hadi Fadaifard

Introduction  MP3 has become quite popular in the past 6 years.  Good compression  Winamp: The most popular MP3 player for Windows  Other popular players:  XMMS (Linux)  iTunes  Realplayer  Windows Media Player

Introduction  All players have support for sound visualizations  We will write a visualization plug-in for Winamp:  Free and most popular player  Compact and user friendly

Overview  Plugin format and calling mechanism  Drawing mechanism  Conclusions and Results

Calling Mechanism 1 Plugin Module

Calling Mechanism 1 Plugin Module winampVisHeader

Calling Mechanism 1 Plugin Module

Calling Mechanism 1 Plugin Module

Calling Mechanism 1 2 Plugin Module winampVisHeader

Calling Mechanism 1 2 Plugin Module winampVisHeader winampVisModule

Calling Mechanism 1 2 Plugin Module

Calling Mechanism 1 2 Plugin Module

Calling Mechanism 1 2 Plugin Module

Drawing Mechanism  Winamp calls Render every delayMS msecs.  Data required by Render (e.g. waveformData, spectrumData) is passed to Render as a pointer to the current VisModule.  No restrictions on how Render draws onto the visualization window; it can use any hardware accelerated API (e.g. DirectX or OpenGL) or no API at all.  We will use OpenGL.

Render Function (simplified)

Drawing The Waveform

Improving Render Function  A more complicated Render function: 1.Draw the Background. 2.Draw the Foreground: waveform and/or any other object in the scene 3.Save the frame buffer. 4.Add (blend in) the saved image to the background image. 5.Distort (transform) the background.

Improving Render Function  Problem: Processing the background image (e.g. blending, blurring, etc) is computationally expensive.  Solution: Use the Graphics hardware (through OpenGL):  Create a 2D grid that covers the entire window (Offline).  Texture map the background onto the grid (Online).  Transform the grid (Online).

Improving Render Function

Render Function (improved)

Drawing the Background Transform the Grid (Rotate, Scale, Translate, etc) Draw the Texture-mapped Grid

Results  Winamp demo