The IGUANA Interactive Graphics Toolkit with Examples from CMS and D0
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Setting up Opengl, GLM, and FLTK
Comp 175 - Graphics In Class Lab 0 Setting Up OpenGL, GLM, and FLTK Description: In this lab, your task is to set up your development environment for future labs and assignments that use OpenGL, the GLM library, and FLTK. OpenGL is the standard (3D) graphics library. Although there are other graphics libraries out there (e.g. Vulcan, DirectX or Direct3D by Microsoft, Metal by Apple, and Mantle by AMD), OpenGL remains the most common and most popular API for implementing 3D graphics applications. For convenience, we will be using the GLM library (GLM stands for OpenGL Mathematics) to do all of our linear algebra. The library will help keep the code readable when manipulating matrices, vectors, points, and such. Finally, we will be using FLTK (version 1.3.4) in conjunction with OpenGL. FLTK is a cross-platform, lightweight graphical user interface (GUI) library that supports OpenGL canvas. Since FLTK is cross-platform, you should be able to use your own favorite operating system and windows environment. What a cross-platform toolkit means is that you will write your GUI code once, and you can compile the code in Windows, Mac, and whatever operating system that FLTK supports. The resulting compiled program will be native to the operating system (whereas Java is also a cross-platform language, but Java applications are run in a virtual machine). Personally, I use a Windows machine at home and at work. I have therefore written the initial support code and demo applications in Windows (using Visual Studio 2017 Enterprise edition). For this class, we will support Windows and Mac development environments. -
Drawing in 3D in a Realistic 3D World the Observer Becomes an Actor Whose Actions Provoke Reactions That Leave Tracks in Virtual Reality
PROGRAMMING Coin 3D – Interaction Interactive 3D Worlds with Coin and Qt Drawing in 3D In a realistic 3D world the observer becomes an actor whose actions provoke reactions that leave tracks in virtual reality. Qt and Coin allow you to program animated and interactive 3D worlds quickly and easily.We take a look at how you can interact with your new 3D world and create new effects. BY STEPHAN SIEMEN scene. This illustration is right mouse button deletes all the dots based on an example from the scene. from Inventor Mentor ([3], Chapter 10, The Right Choice example 2), how- A program that needs to reflect a user’s ever, we have wishes interactively, needs to select and expanded on it modify individual objects in the scene and moved from graph. This example adds new dots to Motif to using dotCoordinates and tells the dots node to Qt and SoQt. draw the new dots. Figure 2 Nodes can be accessed and selected by shows the reference to their position in the graph. scene graph for the drawing Each group node provides a method program. It requires only four called getChild() for this purpose. Figure nodes, and the user can edit three of 2 shows how the program references them dynamically (only the lighting individual nodes via the root of the remains constant). Pressing the center scene graph. However, this simple mouse button rotates the camera about method is extremely error-prone: if three dimensional scene appears the source. dotCoor- far more realistic if it is animated dinates and dots are Aand the user can interact with it. -
Algebraic Methods for Geometric Modeling Julien Wintz
Algebraic Methods for Geometric Modeling Julien Wintz To cite this version: Julien Wintz. Algebraic Methods for Geometric Modeling. Mathematics [math]. Université Nice Sophia Antipolis, 2008. English. tel-00347162 HAL Id: tel-00347162 https://tel.archives-ouvertes.fr/tel-00347162 Submitted on 14 Dec 2008 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Universit´ede Nice Sophia-Antipolis Ecole´ Doctorale STIC THESE` Pr´esent´ee pour obtenir le titre de : Docteur en Sciences de l’Universit´ede Nice Sophia-Antipolis Sp´ecialit´e: Informatique par Julien Wintz Algebraic Methods for Geometric Modeling Soutenue publiquement `al’INRIA le 5 Mai 2008 devant le jury compos´ede : Pr´esident : Andr´e Galligo Universit´ede Nice, France Rapporteurs : Gershon Elber Technion, Israel Tor Dokken Sintef, Norway Examinateurs : Pascal Schreck Universit´eLouis Pasteur, France Christian Arber Missler, France Directeur : Bernard Mourrain Inria Sophia-Antipolis, France Algebraic methods for geometric modeling Julien Wintz Abstract The two fields of algebraic geometry and algorithmic geometry, though closely related, are traditionally represented by almost disjoint communi- ties. Both fields deal with curves and surfaces but objects are represented in different ways. While algebraic geometry defines objects by the mean of equations, algorithmic geometry use to work with linear models. -
FLTK 1.1.8 Programming Manual Revision 8
FLTK 1.1.8 Programming Manual Revision 8 Written by Michael Sweet, Craig P. Earls, Matthias Melcher, and Bill Spitzak Copyright 1998-2006 by Bill Spitzak and Others. FLTK 1.1.8 Programming Manual Table of Contents Preface..................................................................................................................................................................1 Organization.............................................................................................................................................1 Conventions.............................................................................................................................................2 Abbreviations...........................................................................................................................................2 Copyrights and Trademarks.....................................................................................................................2 1 - Introduction to FLTK...................................................................................................................................3 History of FLTK......................................................................................................................................3 Features....................................................................................................................................................4 Licensing..................................................................................................................................................5 -
Audio Video Graphics Working Group Session
Audio Video Graphics Working Group Session San Jose meeting Pieter van de Meulen WG chair 26 January, 2005 CE Linux Forum Technical Conference 1 AVG WG – todays objective: Audio Video 2D 3D Renesas, Mitsubishi, Conexant DirectFB Philips, Samsung UH API P hilips Multi-FB …. OpenGL …. …. …. 26 January, 2005 CE Linux Forum Technical Conference 2 Recall: 25th/26th Presentations • DirectFB - Dennis Oliver Kropp; Convergence ● http://www.directfb.org/ • OpenGL ES, OpenVG and OpenMAX - Ed Plowman; ARM ● http://www.khronos.org/ • Graphics APIS for Linux - Matsubara, Hagiwara, Hisao Munakata; Renesas • Creating GTK+ based UI's for embedded devices - Markku Ursin, Movial ● http://www.gtk.org/ • Linux DVB - Michael Hunold; Convergence ● http://www.linuxtv.org/ • UHAPI (AV streaming) tutorial - John Vugts; Philips/Samsung ● http://www.uhapi.org/ 26 January, 2005 CE Linux Forum Technical Conference 3 Recall: Jan. 25th Demos • FB (Multi-framebuffer) ● Philips: PNX8550 running Linux; dual framebuffer and AV accel. • DirectFB ● Conexant: DVD processor running CELF Linux with DirectFB. ● Mitsubishi: ARIB plane model emulated on DirectFB window system ● Mitsubishi: MPEG4 Player (via GTK+) running on Renesas SH-4 ● Renesas: GTK+ and GUI without X11 • UHAPI (AV streaming): ● Philips open source demo on PC • DTV ● Toshiba America/Europe: DTV reference solution and Home Gateway. • 3D graphics ●Renesas: demo by SI-Electronics on SH-4 and Power VR ●Pioneer: OpenGL 26 January, 2005 CE Linux Forum Technical Conference 4 Linux APIs (2004/6 status) & CCEELLFF VV11..00 -
Downloading Material Is Agreeing to Abide by the Terms of the Repository Licence
Cronfa - Swansea University Open Access Repository _____________________________________________________________ This is an author produced version of a paper published in : Software—Practice & Experience Cronfa URL for this paper: http://cronfa.swan.ac.uk/Record/cronfa158 _____________________________________________________________ Paper: Laramee, R. (2008). Comparing and evaluating computer graphics and visualization software. Software—Practice & Experience, 38(7), 735-760. http://dx.doi.org/10.1002/spe.v38:7 _____________________________________________________________ This article is brought to you by Swansea University. Any person downloading material is agreeing to abide by the terms of the repository licence. Authors are personally responsible for adhering to publisher restrictions or conditions. When uploading content they are required to comply with their publisher agreement and the SHERPA RoMEO database to judge whether or not it is copyright safe to add this version of the paper to this repository. http://www.swansea.ac.uk/iss/researchsupport/cronfa-support/ SOFTWARE—PRACTICE AND EXPERIENCE Softw. Pract. Exper. 2000; 00:1–7 Prepared using speauth.cls [Version: 2002/09/23 v2.2] Comparing and Evaluating Computer Graphics and Visualization Software Robert S. Laramee∗,† The Visual and Interactive Computing Group, Department of Computer Science, Swansea University, Swansea SA2 8PP, Wales, UK SUMMARY When starting a new computer graphics or visualization software project, students, researchers, and businesses alike must decide whether or not to start from scratch or with third party software. Since computer graphics and visualization applications are typically quite large, developers often build upon existing software libraries in order to take advantage of the tens of thousands of hours worth of development and testing already invested. Thus developers and managers must face the decision of which library to build on. -
Linux, Yocto and Fpgas
Embedded Open Source Experts Linux, Yocto and FPGAs Integrating Linux and Yocto builds into different SoCs From a Linux software perspective: ➤ Increased demand for Linux on FPGAs ➤ Many things to mange, both technical and practical ➤ FPGAs with integrated CPU cores – very similar many other SoCs Here are some experiences and observations... © Codiax 2019 ● Page 2 Why use Linux? ➤ De-facto standard ➤ Huge HW support ➤ FOSS ➤ Flexible ➤ Adaptable ➤ Stable ➤ Scalable ➤ Royalty free ➤ Vendor independent ➤ Large community ➤ Long lifetime Why not Linux? ➤ Too big ➤ Real-time requirements ➤ Certification ➤ Boot time ➤ Licensing ➤ Too open? Desktop Shells: Desktop Display server: Display BrailleDisplay Touch-Screen Mouse & Keyboard Wayland Compositor Wayland + development tools = a lot code!of source Linux system example weston, clayton,mutter,KWin evdev libinput GNOME Shell D radeon nouveau lima etna_viv freedreno tegra-re lima nouveau radeon freedreno etna_viv e libwayland-server libwayland-server s Cinnamon k t o kms p Linux kernel, Linux kernel, Plasma 2 w i (Kernel Mode Setting) Mode (Kernel d g Cairo-Dock e t s drm (Direct Rendering Manager) Rendering (Direct drm cache coherent L2-Caches L2-Caches cache coherent CPU &GPU Enlight. DR19 System libraries: System oflibraries): form (in the Toolkits Interface User µClibc Pango glibc glibc main memory possibly adaptations to Wayland/Mir libwayland / COGL libwayland Cairo Cairo (Xr) GTK+ Clutter 2D Application 2D GModule GThread GThread GLib GObject Glib GIO ATK devicedrivers other& modules System -
STAR Geometry Browser
The STAR “Integrated" Geometry Browser V.Fine How to start the Browser To start the STAR Geometry browser use 3 shell commands: > stardev > source $STAR/QtRoot/qtgl/qtcoin/setup.csh > root4star GeomBrowse.C The browser requires the Qt ROOT plug-in to be activated instead of the “X11” plug-in which is ROOT default. To change the default, one has to provide the custom “.rootrc” file as follows: Gui.Backend qt Plugin.TGuiFactory qtgui TQtGUIFactory QtRootGui "TQtGUIFactory()" Gui.Factory qtgui Plugin.TVirtualPadEditor Ged TQtGedEditor QtGed "TQtGedEditor(TCanvas*)" Plugin.TVirtualViewer3D ogl TQtRootViewer3D RQTGL "TQtRootViewer3D(TVirtualPad*)" +Plugin.TVirtualViewer3D oiv TQtRootCoinViewer3D RQIVTGL "TQtRootCoinViewer3D(TVirtualPad*)" The GeomBrowse.C does check whether Qt plug-in has been activated and does create the proper “.rootrc” file for you if needed 12/6/2006 STAR BNL http://www.star.bnl.gov/STAR/comp/vis/ S&C STAV.FRine week (fine@ly mbnl.eeting.gov ) 2 Input 3D geometry formats • Zebra - *.fz • ROOT Macro - *.C • ROOT file - *.root • "Open Inventor" - *.iv, can be used to combine the ROOT/ GEANT objects with non-ROOT 3D shapes • VRML - *.wrl, can be used to combine the ROOT/ GEANT objects with non-ROOT 3D shapes In the other words, all versions of the STAR detector geometry description for "GEANT Simulation" and "Reconstruction" can be visualized. 12/6/2006 STAR BNL http://www.star.bnl.gov/STAR/comp/vis/ S&C STAV.FRine week (fine@ly mbnl.eeting.gov ) 3 The output formats: 1. All common pixmap formats: gif, png, jpg, tiff etc (can be used to create still and animated files) 2. -
Spack a flexible Package Manager for HPC
Spack A flexible package manager for HPC Overview & Introduc0on to Basic Spack Concepts Todd Gamblin Center for Applied Scien0fic Compu0ng LLNL-PRES-806064 This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory github.com/LLNL/spack under contract DE-AC52-07NA27344. Lawrence Livermore National Security, LLC Spack is a flexible package manager for HPC § How to install Spack: $ git clone https://github.com/scalability-llnl/spack.git § How to install a package: $ cd spack/bin $ ./spack install hdf5 § HDF5 and its dependencies are installed Get Spack! within the Spack directory. hp://github.com/LLNL/spack § No addi0onal setup required! 2 LLNL-PRES-806064 github.com/LLNL/spack What is the proDucon environment for HPC? § Someone’s home directory? § LLNL? LANL? Sandia? ANL? LBL? TACC? — Environments at large-scale sites are very different. § Which MPI implementaon? § Which compiler? § Which dependencies? § Which versions of dependencies? — Many applicaons require specific dependency versions. Real answer: there isn’t a single production environment or a standard way to build. 3 LLNL-PRES-806064 github.com/LLNL/spack HPC soware is becoming increasingly complex § Not much standardizaon in HPC — every machine/applicaon has a different so[ware stack § Sites share unique hardware among teams with very different requirements — Users want to experiment with many exo0c architectures, compilers, MPI versions — All of this is necessary to get the best performance § Example environment for some LLNL codes: 48 third party packages x 3 MPI versions x 3-ish Platforms mvapich mvapich2 OpenMPI Linux BlueGene Cray Up to 7 compilers Oh, and 2-3 versions of x Intel GCC XLC Clang x each package = ~7,500 combinations PGI Cray Pathscale We want an easy way to quickly sample the space, to build configurations on demand! 4 LLNL-PRES-806064 github.com/LLNL/spack Most exisEng tools Do not support combinatorial versioning § Tradi0onal binary package managers — RPM, yum, APT, yast, etc. -
Programming.Pdf
Programming CS422 1 FLTK: Fast Light Toolkit • http://www.fltk.org • FLTK is a cross-platform C++ GUI toolkit for UNIX®/ Linux® (X11), Microsoft® Windows®, and MacOS® X • FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. • FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. • FLTK also includes an UI builder called FLUID that can be used to create applications 2 FLTK 3 Program #include <FL/Fl.H> #include <FL/Fl_Window.H> #include <FL/Fl_Box.H> CXXFLAGS=`fltk-config --cxxflags` LDLIBS=`fltk-config --ldflags` int main(int argc, char **argv) { Fl_Window *window = new Fl_Window(300,180); Fl_Box *box = new Fl_Box(20,40,260,100,"Hello, World!"); box->box(FL_UP_BOX); box->labelsize(36); box->labelfont(FL_BOLD+FL_ITALIC); box->labeltype(FL_SHADOW_LABEL); window->end(); window->show(argc, argv); return Fl::run(); } 4 Swing • Java language • JFC is short for Java Foundation Classes, which encompass a group of features for building graphical user interfaces (GUIs) and adding rich graphics functionality and interactivity to Java applications. It is defined as containing the features shown in the table below • Swing GUI, Look-and-Feel, Accessibility API, Java 2D API, Drag-and-Drop Support, Internationalization, ... 5 Swing import javax.swing.*; public class HelloWorldSwing { private static void createAndShowGUI() { //Make sure we have nice window decorations. JFrame.setDefaultLookAndFeelDecorated(true); //Create and set up the window. Run: JFrame frame = new JFrame("HelloWorldSwing"); javac SwingApplication.java java SwingApplication frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Add the ubiquitous "Hello World" label. -
FLTK 1.1.10 Programming Manual Revision 10
FLTK 1.1.10 Programming Manual Revision 10 Written by Michael Sweet, Craig P. Earls, Matthias Melcher, and Bill Spitzak Copyright 1998-2009 by Bill Spitzak and Others. FLTK 1.1.10 Programming Manual Table of Contents Preface..................................................................................................................................................................1 Organization.............................................................................................................................................1 Conventions.............................................................................................................................................2 Abbreviations...........................................................................................................................................2 Copyrights and Trademarks.....................................................................................................................2 1 - Introduction to FLTK...................................................................................................................................3 History of FLTK......................................................................................................................................3 Features....................................................................................................................................................4 Licensing..................................................................................................................................................5 -
Introduction to the Tcl/Fltk Extension
The Fast Light Toolkit Extension for Tcl/Tk Version 1.0.1 Iain B. Findleton Tue Nov 18 12:35:33 EST 2008 This document describes the binding between the Fast Light Tool Kit (FLTK) and the Tcl/Tk programming language. The language binding enables the creation of graphical user interface based applications that are built using the widget set provided by the FLTK library. Both the FLTK library and the Tcl/Tk application development language are distributed under various flavours of the GNU Public License. The Fltk Extension for Tcl/Tk is a dynamically loadable extension to the Tcl/Tk application development environment. The extension is distributed freely under the license terms described in the software distribution. All of the materials of the Fltk extension package for Tcl/Tk, including this documentation, are Copyright (C) I.B.Findleton, 2001-2007, All Rights Reserved. Neither this document nor any part thereof may be reproduced and distributed for any commercial purpose without the express written permission of the author. Reproduction and distribution for non-commercial purposes is allowed. 11/18/2008 Table of Contents 1 Introduction.....................................................................................................................................................1 1.1 Features of the FLTK Tool Kit..........................................................................................................1 1.2 Limitations of the FLTK Tool Kit.....................................................................................................1