Programming Graphics Hardware Overview of the Tutorial: Afternoon

Total Page:16

File Type:pdf, Size:1020Kb

Programming Graphics Hardware Overview of the Tutorial: Afternoon Tutorial 5 ProgrammingProgramming GraphicsGraphics HardwareHardware Randy Fernando, Mark Harris, Matthias Wloka, Cyril Zeller Overview of the Tutorial: Morning 8:30 Introduction to the Hardware Graphics Pipeline Cyril Zeller 9:30 Controlling the GPU from the CPU: the 3D API Cyril Zeller 10:15 Break 10:45 Programming the GPU: High-level Shading Languages Randy Fernando 12:00 Lunch Tutorial 5: Programming Graphics Hardware Overview of the Tutorial: Afternoon 12:00 Lunch 14:00 Optimizing the Graphics Pipeline Matthias Wloka 14:45 Advanced Rendering Techniques Matthias Wloka 15:45 Break 16:15 General-Purpose Computation Using Graphics Hardware Mark Harris 17:30 End Tutorial 5: Programming Graphics Hardware Tutorial 5: Programming Graphics Hardware IntroductionIntroduction toto thethe HardwareHardware GraphicsGraphics PipelinePipeline Cyril Zeller Overview Concepts: Real-time rendering Hardware graphics pipeline Evolution of the PC hardware graphics pipeline: 1995-1998: Texture mapping and z-buffer 1998: Multitexturing 1999-2000: Transform and lighting 2001: Programmable vertex shader 2002-2003: Programmable pixel shader 2004: Shader model 3.0 and 64-bit color support PC graphics software architecture Performance numbers Tutorial 5: Programming Graphics Hardware Real-Time Rendering Graphics hardware enables real-time rendering Real-time means display rate at more than 10 images per second 3D Scene = Image = Collection of Array of pixels 3D primitives (triangles, lines, points) Tutorial 5: Programming Graphics Hardware Hardware Graphics Pipeline Application Geometry Rasterization 3D Triangles 2D Triangles Pixels Stage Stage Stage For each For each triangle: triangle vertex: Rasterize Transform triangle 3D position Interpolate into vertex attributes screen position across triangle Compute Shade attributes pixels Resolve visibility Tutorial 5: Programming Graphics Hardware PC Architecture Motherboard Central Processor Unit (CPU) System Memory Bus Port (PCI, AGP, PCIe) Video Memory Graphics Processor Unit (GPU) Video Board Tutorial 5: Programming Graphics Hardware 1995-1998: Texture Mapping and Z-Buffer CPU GPU Application / Geometry Stage Rasterization Stage Raster Texture Rasterizer Operations Unit Unit 2D Triangles Bus Frame 2D Triangles Textures Textures (PCI) Buffer System Memory Video Memory PCI: Peripheral Component Interconnect 3dfx’s Voodoo Tutorial 5: Programming Graphics Hardware Texture Mapping Triangle Meshtextured with Base Texture + = Tutorial 5: Programming Graphics Hardware Texture Mapping: Texture Coordinates Interpolation Screen Space Texture Space Texel x u (x1, y1) y v (u1, v1) (x, y) (x0, y0) (u, v) (x2, y2) (u0, v0) (u2, v2) Tutorial 5: Programming Graphics Hardware Texture Mapping: Perspective-Correct Interpolation Perspective-Incorrect Perspective-Correct Tutorial 5: Programming Graphics Hardware Texture Mapping: Magnification Screen Space Texture Space Pixel’s texture footprint Pixel x u y v or Nearest-Point Sampling Bilinear Filtering Tutorial 5: Programming Graphics Hardware Texture Mapping: Minification Screen Space Texture Space Pixel’s texture footprint Pixel x u y v Tutorial 5: Programming Graphics Hardware Texture Mapping: Mipmapping or Bilinear Filtering Trilinear Filtering Tutorial 5: Programming Graphics Hardware Texture Mapping: Anisotropic Filtering or Bilinear Filtering Trilinear Filtering Tutorial 5: Programming Graphics Hardware Texture Mapping: Addressing Modes Wrap Mirror Tutorial 5: Programming Graphics Hardware Texture Mapping: Addressing Modes Clamp Border Tutorial 5: Programming Graphics Hardware Raster Operations Unit (ROP) Raster Operations stencil buffer value Unit at (x, y) tested against Texture Rasterizer Fragments Scissor Test reference value Unit Fragment Alpha Test tested against Frame Buffer Screen Position (x, y) scissor rectangle Stencil Test Stencil Buffer tested against Alpha Value a reference value Z Test Z-Buffer tested against Depth z z-buffer value at (x, y) Color Buffer (visibility test) Alpha Blending Pixels blended with color buffer value at (x, y): Color (r, g, b) Ksrc * Colorsrc + Kdst * Colorsrc (src = fragment dst = color buffer) Tutorial 5: Programming Graphics Hardware 1998: Multitexturing CPU GPU Application / Geometry Stage Rasterization Stage Raster Multitexture Rasterizer Operations Unit Unit 2D Triangles Bus Frame 2D Triangles Textures Textures (AGP) Buffer System Memory Video Memory AGP: Accelerated Graphics Port NVIDIA’s TNT, ATI’s Rage Tutorial 5: Programming Graphics Hardware AGP PCI uses a parallel connection AGP uses a serial connection → Fewer pins, simpler protocol → Cheaper, more scalable PCI uses a shared-bus protocol AGP uses a point-to-point protocol → Bandwidth is not shared among devices AGP uses a dedicated system memory called AGP memory or non-local video memory The GPU can lookup textures that resides in AGP memory Its size is called the AGP aperture Bandwidth: AGP = 2 x PCI (AGP2x = 2 x AGP, etc.) Tutorial 5: Programming Graphics Hardware Multitexturing Base Texturemodulated by Light Map X from UT2004 (c) Epic Games Inc. = Used with permission Tutorial 5: Programming Graphics Hardware 1999-2000: Transform and Lighting CPU GPU “Fixed Function Pipeline” Application Geometry Stage Rasterization Stage Stage Raster Transform Register Rasterizer Operations and Combiner Unit Lighting Unit Texture Unit 3D Triangles Textures Frame Bus 3D Triangles Textures (AGP) Buffer System Memory Video Memory Register Combiner: Offers many more texture/color combinations NVIDIA’s GeForce 256 and GeForce2, ATI’s Radeon 7500, S3’s Savage3D Tutorial 5: Programming Graphics Hardware Transform and Lighting Unit (TnL) Transform and Lighting Unit Transform World World View Perspective Model Camera Projection Screen Matrix Space Matrix Division or or Projection or or and Object Eye Matrix Clip Window Model-View Viewport Space Space Space Space Matrix Matrix Lighting Material Properties Vertex Light Properties Diffuse and Specular Color Vertex Color Tutorial 5: Programming Graphics Hardware Bump Mapping Bump mapping is about fetching the normal from a texture (called a normal map) instead of using the interpolated normal to compute lighting at a given pixel += Normal Map Diffuse light without bump Diffuse light with bumps Tutorial 5: Programming Graphics Hardware Cube Texture Mapping Cubemap (covering Environment Mapping the six faces z (x (the reflection vector of a cube) ,y,z y ) is used to lookup x the cubemap) Cubemap lookup (with direction (x, y, z)) Tutorial 5: Programming Graphics Hardware Projective Texture Mapping Projected Texture (x, y, z, w) (x/w, y/w) Texture Projection Projective Texture lookup Tutorial 5: Programming Graphics Hardware 2001: Programmable Vertex Shader CPU GPU Application Geometry Stage Rasterization Stage Stage Raster Register Vertex Shader Rasterizer Operations (no flow control) (with Z-Cull) Combiner Unit Texture Shader 3D Triangles Textures Frame Bus 3D Triangles Textures (AGP) Buffer System Memory Video Memory Z-Cull: Predicts which fragments will fail the Z test and discards them Texture Shader: Offers more texture addressing and operations NVIDIA’s GeForce3 and GeForce4 Ti, ATI’s Radeon 8500 Tutorial 5: Programming Graphics Hardware Vertex Shader A programming processor for any per-vertex computation void VertexShader( // Input per vertex in float4 positionInModelSpace, in float2 textureCoordinates, in float3 normal, // Input per batch of triangles uniform float4x4 modelToProjection, uniform float3 lightDirection, // Output per vertex out float4 positionInProjectionSpace, out float2 textureCoordinatesOutput, out float3 color ) { // Vertex transformation positionInProjectionSpace = mul(modelToProjection, positionInModelSpace); // Texture coordinates copy textureCoordinatesOutput = textureCoordinates; // Vertex color computation color = dot(lightDirection, normal); } Tutorial 5: Programming Graphics Hardware Volume Texture Mapping z (x,y,z) y x Volume Texture Noise Perturbation (3D Noise) Volume Texture lookup (with position (x, y, z)) Tutorial 5: Programming Graphics Hardware Hardware Shadow Mapping Shadow Map Computation Store The shadow map contains z/w the depth z/w of the 3D points visible (x, y, z, w) from the light’s point of view Spot (x/w, y/w) light Shadow map Shadow Rendering Lookup value A 3D point (x, y, z, w) is in shadow if: z/w < value of shadow map at (x/w, y/w) (x, y, z, w) Spot A hardware shadow map lookup (x/w, y/w) light returns the value of this comparison between 0 and 1 Tutorial 5: Programming Graphics Hardware Antialiasing: Definition Aliasing: Undesirable visual artifacts due to insufficient sampling of: Primitives (triangles, lines, etc.) → jagged edges Textures or shaders → pixelation, moiré patterns Those artifacts are even more noticeable on animated images Antialiasing: Method to reduce aliasing Texture antialiasing is largely handled by proper mipmapping and anisotropic filtering Shader antialiasing can be tricky (especially with conditionals) Tutorial 5: Programming Graphics Hardware Antialiasing: Supersampling and Multisampling Supersampling: Pixel Center Compute color and Z at higher resolution and Sample display averaged color to smooth out the visual artifacts Multisampling: Same thing except only Z is computed at higher resolution As a result, multisampling performs antialiasing on primitive edges only Tutorial 5: Programming Graphics Hardware 2002-2003: Programmable Pixel Shader CPU GPU Application Geometry Stage Rasterization Stage Stage Raster Vertex Shader Rasterizer Pixel Shader (static
Recommended publications
  • Autodesk Inventor Laptop Recommendation
    Autodesk Inventor Laptop Recommendation Amphictyonic and mirthless Son cavils her clouter masters sensually or entomologizing close-up, is Penny fabaceous? Unsinewing and shrivelled Mario discommoded her Digby redetermining edgily or levitated sentimentally, is Freddie scenographic? Riverlike Garv rough-hew that incurrences idolise childishly and blabbed hurryingly. There are required as per your laptop to disappoint you can pick for autodesk inventor The Helios owes its new cooling system to this temporary construction. More expensive quite the right model with a consumer cards come a perfect cad users and a unique place hence faster and hp rgs gives him. Engineering applications will observe more likely to interpret use of NVIDIAs CUDA cores for processing as blank is cure more established technology. This article contains affiliate links, if necessary. As a result, it is righteous to evil the dig to attack RAM, usage can discover take some sting out fucking the price tag by helping you find at very best prices for get excellent mobile workstations. And it plays Skyrim Special Edition at getting top graphics level. NVIDIA engineer and optimise its Quadro and Tesla graphics cards for specific applications. Many laptops and inventor his entire desktop is recommended laptop. Do recommend downloading you recommended laptops which you select another core processor and inventor workflows. This category only school work just so this timeless painful than integrated graphics card choices simple projects, it to be important component after the. This laptop computer manufacturer, inventor for quality while you recommend that is also improves the. How our know everything you should get a laptop home it? Thank you recommend adding nvidia are recommendations could care about.
    [Show full text]
  • Evolution of the Graphical Processing Unit
    University of Nevada Reno Evolution of the Graphical Processing Unit A professional paper submitted in partial fulfillment of the requirements for the degree of Master of Science with a major in Computer Science by Thomas Scott Crow Dr. Frederick C. Harris, Jr., Advisor December 2004 Dedication To my wife Windee, thank you for all of your patience, intelligence and love. i Acknowledgements I would like to thank my advisor Dr. Harris for his patience and the help he has provided me. The field of Computer Science needs more individuals like Dr. Harris. I would like to thank Dr. Mensing for unknowingly giving me an excellent model of what a Man can be and for his confidence in my work. I am very grateful to Dr. Egbert and Dr. Mensing for agreeing to be committee members and for their valuable time. Thank you jeffs. ii Abstract In this paper we discuss some major contributions to the field of computer graphics that have led to the implementation of the modern graphical processing unit. We also compare the performance of matrix‐matrix multiplication on the GPU to the same computation on the CPU. Although the CPU performs better in this comparison, modern GPUs have a lot of potential since their rate of growth far exceeds that of the CPU. The history of the rate of growth of the GPU shows that the transistor count doubles every 6 months where that of the CPU is only every 18 months. There is currently much research going on regarding general purpose computing on GPUs and although there has been moderate success, there are several issues that keep the commodity GPU from expanding out from pure graphics computing with limited cache bandwidth being one.
    [Show full text]
  • Graphics Processing Units
    Graphics Processing Units Graphics Processing Units (GPUs) are coprocessors that traditionally perform the rendering of 2-dimensional and 3-dimensional graphics information for display on a screen. In particular computer games request more and more realistic real-time rendering of graphics data and so GPUs became more and more powerful highly parallel specialist computing units. It did not take long until programmers realized that this computational power can also be used for tasks other than computer graphics. For example already in 1990 Lengyel, Re- ichert, Donald, and Greenberg used GPUs for real-time robot motion planning [43]. In 2003 Harris introduced the term general-purpose computations on GPUs (GPGPU) [28] for such non-graphics applications running on GPUs. At that time programming general-purpose computations on GPUs meant expressing all algorithms in terms of operations on graphics data, pixels and vectors. This was feasible for speed-critical small programs and for algorithms that operate on vectors of floating-point values in a similar way as graphics data is typically processed in the rendering pipeline. The programming paradigm shifted when the two main GPU manufacturers, NVIDIA and AMD, changed the hardware architecture from a dedicated graphics-rendering pipeline to a multi-core computing platform, implemented shader algorithms of the rendering pipeline in software running on these cores, and explic- itly supported general-purpose computations on GPUs by offering programming languages and software- development toolchains. This chapter first gives an introduction to the architectures of these modern GPUs and the tools and languages to program them. Then it highlights several applications of GPUs related to information security with a focus on applications in cryptography and cryptanalysis.
    [Show full text]
  • Improving Shadows and Reflections Via the Stencil Buffer
    Improving Shadows and Reflections via the Stencil Buffer Mark J. Kilgard * NVIDIA Corporation “Slap textures on polygons, throw them at the screen, and let the depth buffer sort it out.” For too many game developers, the above statement sums up their approach to 3D hardware- acceleration. A game programmer might turn on some fog and maybe throw in some transparency, but that’s often the limit. The question is whether that is enough anymore for a game to stand out visually from the crowd. Now everybody’s using 3D hardware-acceleration, and everybody’s slinging textured polygons around, and, frankly, as a result, most 3D games look more or less the same. Sure there are differences in game play, network interaction, artwork, sound track, etc., etc., but we all know that the “big differentiator” for computer gaming, today and tomorrow, is the look. The problem is that with everyone resorting to hardware rendering, most games look fairly consistent, too consistent. You know exactly the textured polygon look that I’m talking about. Instead of settling for 3D hardware doing nothing more than slinging textured polygons, I argue that cutting-edge game developers must embrace new hardware functionality to achieve visual effects beyond what everybody gets today from your basic textured and depth-buffered polygons. Two effects that can definitely set games apart from the crowd are better quality shadows and reflections. While some games today incorporate shadows and reflections to a limited extent, the common techniques are fairly crude. Reflections in today’s games are mostly limited to “infinite extent” ground planes or ground planes bounded by walls.
    [Show full text]
  • A Hardware Processing Unit for Point Sets
    Graphics Hardware (2008) David Luebke and John D. Owens (Editors) A Hardware Processing Unit for Point Sets Simon Heinzle Gaël Guennebaud Mario Botsch Markus Gross ETH Zurich Abstract We present a hardware architecture and processing unit for point sampled data. Our design is focused on funda- mental and computationally expensive operations on point sets including k-nearest neighbors search, moving least squares approximation, and others. Our architecture includes a configurable processing module allowing users to implement custom operators and to run them directly on the chip. A key component of our design is the spatial search unit based on a kd-tree performing both kNN and eN searches. It utilizes stack recursions and features a novel advanced caching mechanism allowing direct reuse of previously computed neighborhoods for spatially coherent queries. In our FPGA prototype, both modules are multi-threaded, exploit full hardware parallelism, and utilize a fixed-function data path and control logic for maximum throughput and minimum chip surface. A detailed analysis demonstrates the performance and versatility of our design. Categories and Subject Descriptors (according to ACM CCS): I.3.1 [Hardware Architecture]: Graphics processors 1. Introduction radius. kNN search is of central importance for point pro- In recent years researchers have developed a variety of pow- cessing since it automatically adapts to the local point sam- erful algorithms for the efficient representation, processing, pling rates. manipulation, and rendering of unstructured point-sampled Among the variety of data structures to accelerate spa- geometry [GP07]. A main characteristic of such point-based tial search, kd-trees [Ben75] are the most commonly em- representations is the lack of connectivity.
    [Show full text]
  • Intel Embedded Graphics Drivers, EFI Video Driver, and Video BIOS V10.4
    Intel® Embedded Graphics Drivers, EFI Video Driver, and Video BIOS v10.4 User’s Guide April 2011 Document Number: 274041-032US INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked “reserved” or “undefined.” Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information. The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
    [Show full text]
  • Compressed Modes User's Guide
    Drivers for Windows Compressed Modes User’s Guide Version 2.0 NVIDIA Corporation August 27, 2002 NVIDIA Drivers Compressed Modes User’s Guide Version 2.0 Published by NVIDIA Corporation 2701 San Tomas Expressway Santa Clara, CA 95050 Copyright © 2002 NVIDIA Corporation. All rights reserved. This software may not, in whole or in part, be copied through any means, mechanical, electromechanical, or otherwise, without the express permission of NVIDIA Corporation. Information furnished is believed to be accurate and reliable. However, NVIDIA assumes no responsibility for the consequences of use of such information nor for any infringement of patents or other rights of third parties, which may result from its use. No License is granted by implication or otherwise under any patent or patent rights of NVIDIA Corporation. Specifications mentioned in the software are subject to change without notice. NVIDIA Corporation products are not authorized for use as critical components in life support devices or systems without express written approval of NVIDIA Corporation. NVIDIA, the NVIDIA logo, GeForce, GeForce2 Ultra, GeForce2 MX, GeForce2 GTS, GeForce 256, GeForce3, Quadro2, NVIDIA Quadro2, Quadro2 Pro, Quadro2 MXR, Quadro, NVIDIA Quadro, Vanta, NVIDIA Vanta, TNT2, NVIDIA TNT2, TNT, NVIDIA TNT, RIVA, NVIDIA RIVA, NVIDIA RIVA 128ZX, and NVIDIA RIVA 128 are registered trademarks or trademarks of NVIDIA Corporation in the United States and/or other countries. Intel and Pentium are registered trademarks of Intel. Microsoft, Windows, Windows NT, Direct3D, DirectDraw, and DirectX are registered trademarks of Microsoft Corporation. CDRS is a trademark and Pro/ENGINEER is a registered trademark of Parametric Technology Corporation. OpenGL is a registered trademark of Silicon Graphics Inc.
    [Show full text]
  • Directx 11 Extended to the Implementation of Compute Shader
    DirectX 1 DirectX About the Tutorial Microsoft DirectX is considered as a collection of application programming interfaces (APIs) for managing tasks related to multimedia, especially with respect to game programming and video which are designed on Microsoft platforms. Direct3D which is a renowned product of DirectX is also used by other software applications for visualization and graphics tasks such as CAD/CAM engineering. Audience This tutorial has been prepared for developers and programmers in multimedia industry who are interested to pursue their career in DirectX. Prerequisites Before proceeding with this tutorial, it is expected that reader should have knowledge of multimedia, graphics and game programming basics. This includes mathematical foundations as well. Copyright & Disclaimer Copyright 2019 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at [email protected]
    [Show full text]
  • Introduction to Graphics Hardware and GPU's
    Blockseminar: Verteiltes Rechnen und Parallelprogrammierung Tim Conrad GPU Computer: CHINA.imp.fu-berlin.de GPU Intro Today • Introduction to GPGPUs • “Hands on” to get you started • Assignment 3 • Projects GPU Intro Traditional Computing Von Neumann architecture: instructions are sent from memory to the CPU Serial execution: Instructions are executed one after another on a single Central Processing Unit (CPU) Problems: • More expensive to produce • More expensive to run • Bus speed limitation GPU Intro Parallel Computing Official-sounding definition: The simultaneous use of multiple compute resources to solve a computational problem. Benefits: • Economical – requires less power and cheaper to produce • Better performance – bus/bottleneck issue Limitations: • New architecture – Von Neumann is all we know! • New debugging difficulties – cache consistency issue GPU Intro Flynn’s Taxonomy Classification of computer architectures, proposed by Michael J. Flynn • SISD – traditional serial architecture in computers. • SIMD – parallel computer. One instruction is executed many times with different data (think of a for loop indexing through an array) • MISD - Each processing unit operates on the data independently via independent instruction streams. Not really used in parallel • MIMD – Fully parallel and the most common form of parallel computing. GPU Intro Enter CUDA CUDA is NVIDIA’s general purpose parallel computing architecture • Designed for calculation-intensive computation on GPU hardware • CUDA is not a language, it is an API • We will
    [Show full text]
  • Geforce 256 and RIVA TNT Combiners
    Copyright NVIDIA Corporation, 1999. NVIDIA Proprietary. GeForce 256 and RIVA TNT Combiners How to best utilize the per-pixel operations using OpenGL on NVIDIA Graphics Processors 11/02/1999 1 Copyright NVIDIA Corporation, 1999. NVIDIA Proprietary. NVIDIA OpenGL Combiners (see Figure 3.1 of OpenGL 1.2 spec) Point Texture Rasterization Fetching From Line Primitive Rasterization Texture Assembly Environment Application Register Polygon Combiners Rasterization Texture Unit 0 General Stage 0 Texture Unit 1 DrawPixels Pixel Rectangle General Stage 1 Rasterization Final Stage Color Sum Bitmap Bitmap Rasterization Coverage Fog Application To fragment processing 11/02/1999 2 Copyright NVIDIA Corporation, Which Texture Environment or 1999. NVIDIA Proprietary. Combiner Extension to use? •Base OpenGL texture environment •supports modulate, replace, blend, decal •all OpenGL implementation support this • EXT_texture_env_add •supports add •widely supported extension, but not guaranteed •EXT_texture_env_combine •supports AB+C, AB+(1-A)C •additional scale & bias capability •user-defined constant •multi-vendor extension (NVIDIA & ATI) •NV_texture_env_combine4 •supports AB+CD, generalizes EXT_texture_env_combine •TNT & later NVIDIA graphics processors •NV_register_combiners •register model, non-linear data flow •signed math, input mappings, multiple dot products •subsumes texture environment, color sum, & fog stages •additional inputs: fog color & factor, & secondary color •number of stages independent of active textures •GeForce & future NVIDIA graphics
    [Show full text]
  • Computer Specifications 2018-19
    Computer Specifications School Year 2018-2019 COMPUTER SPECIFICATIONS 2018-19 OVERVIEW PLTW curricula utilize powerful, industry-based software. Ensure computer hardware meets or exceeds the specifications below. Please be sure to make this purchase in consultation with your IT department. Note the following are not supported for use in PLTW coursework: • Chromebooks (most required pieces of software are not supported for use on Chromebooks) • Open Office • Google Docs • Virtual Desktop Environments ______________________________________________________________________________ PLTW Engineering Specifications: • Each teacher must have a laptop (1:1 ratio) • Each student must have a laptop or desktop computer (1:1 ratio) • Each classroom needs a digital projector with screen and appropriate cables/adapters to connect the teacher laptop to the projector Specification Minimum Recommended (but not required) Processor Intel or AMD two+ core processor 2.0 Ghz + Intel or AMD four+ core processor, 3.0 Ghz + RAM 8 GB + 20 GB + Hard Drive 500 GB + 1 TB + 512 MB + dedicated RAM, Microsoft® Direct3D 1 GB + dedicated RAM, Microsoft® Direct3D 11® Video Card 10® capable graphics card or higher supporting capable graphics card or higher supporting 1280 x 1280 x 1024 screen resolution* 1024 screen resolution* Optical Drive Not required for PLTW Software Not required for PLTW Software Windows 7, Windows 8, or Windows 10, 64 bit Windows 7, Windows 8, or Windows 10, 64 bit Operating operating system or Apple device with OSX 10.9 +. operating system or Apple device with OSX 10.10 System Bootcamp required with one of the above +. Bootcamp required with one of the above Windows operating systems. Windows operating systems.
    [Show full text]
  • Programmability
    Programmability - a New Frontier in Graphics Hardware A Revolution in Graphics Hardware The Near Future • Moving from graphics accelerators to processors • Full hardware OpenGL and DirectX pipelines ProgrammabilityProgrammability ChangesChanges thethe WorldWorld • graphics hardware pipelines are becoming massively programmable • will fundamentally change graphics • allows hyper-realistic characters, special effects, and lighting and shading 3D Graphics is about • Animated films (Bug’s Life, Toy Story, etc.) • Special Effects in live action movies (The Matrix) • Interactive Entertainment (Video games) • Computer Models of real world objects • Or, objects that haven’t been invented yet • Making reality more fantastic • Making fantasies seem real Why are Movie Special Effects Exciting and Interesting? • Suspension of Disbelief • Something amazing is happening • But, you believe it, because it is “real” • Realistic and detailed characters • Motion, and emotion • Realistic and recognizable materials • Chrome looks like chrome • Skin looks like skin • Action! Live action sfx slide The Year 2000 Graphics Pipeline vertex transform T & L and lighting setup rasterizer texture blending per-pixel texture fb anti-alias Pixar’s Geri – A Believable Old Man • Not a real person • Geri is built from Curved Surfaces • Curved surfaces are broken down into triangles • Each triangle is transformed into position • Each pixel in each triangle is shaded • Every frame • 24 (movie) or 60 (PC) times per second 3D Movie Special Effects Come to PC and Console Graphics
    [Show full text]