Glide 3.0 Reference Manual Programming the 3Dfx Interactive Glide™ Rasterization Library 3.0

Total Page:16

File Type:pdf, Size:1020Kb

Glide 3.0 Reference Manual Programming the 3Dfx Interactive Glide™ Rasterization Library 3.0 Glide 3.0 Reference Manual Programming the 3Dfx Interactive Glide™ Rasterization Library 3.0 Document Release 020 July 23, 1998 Copyright ã 1995-1998 3Dfx Interactive, Inc. All Rights Reserved 3Dfx Interactive, Inc. 4435 Fortran Drive San Jose, CA 95134 Printed at 10:56 AM on Monday, May 18, 1998 Table of Contents Table of Contents .............................................................................................................................i INTRODUCTION..............................................................................................................................III Base Types .....................................................................................................................................iii Predefined Constants.....................................................................................................................iv API Reference ..................................................................................................................................v grAADrawTriangle ...........................................................................................................................1 grAlphaBlendFunction ....................................................................................................................3 grAlphaCombine..............................................................................................................................5 grAlphaControlsITRGBLighting......................................................................................................9 grAlphaTestFunction..................................................................................................................... 11 grAlphaTestReferenceValue..........................................................................................................13 grBufferClear .................................................................................................................................15 grBufferSwap.................................................................................................................................17 grChromakeyMode ........................................................................................................................19 grChromakeyValue ........................................................................................................................21 grChromaRangeExt.......................................................................................................................23 grChromaRangeModeExt..............................................................................................................25 grClipWindow ................................................................................................................................27 grColorCombine ............................................................................................................................29 grColorMask ..................................................................................................................................31 grConstantColorValue...................................................................................................................33 grCoordinateSpace .......................................................................................................................35 grCullMode ....................................................................................................................................37 grDepthBiasLevel..........................................................................................................................39 grDepthBufferFunction .................................................................................................................41 grDepthBufferMode.......................................................................................................................43 grDepthMask..................................................................................................................................45 grDepthRange................................................................................................................................47 grDisable........................................................................................................................................49 grDisableAllEffects........................................................................................................................51 grDitherMode.................................................................................................................................53 grDrawLine ....................................................................................................................................55 grDrawPoint...................................................................................................................................57 grDrawTriangle ..............................................................................................................................59 grDrawVertexArray ........................................................................................................................61 grDrawVertexArrayContiguous.....................................................................................................63 grEnable.........................................................................................................................................65 grErrorSetCallback........................................................................................................................67 grFinish..........................................................................................................................................69 grFlush...........................................................................................................................................71 grFogColorValue............................................................................................................................73 grFogMode.....................................................................................................................................75 grFogTable.....................................................................................................................................77 grGet ..............................................................................................................................................79 grGetProcAddress.........................................................................................................................83 grGetString ....................................................................................................................................85 grGlideGetState .............................................................................................................................87 grGlideGetVertexLayout................................................................................................................89 Copyright ã 1995-1998 3Dfx Interactive, Inc. i Proprietary and Confidential Printed on 08/05/98 Introduction Glide 3.0 Reference Manual grGlideInit ......................................................................................................................................91 grGlideSetState..............................................................................................................................93 grGlideSetVertexLayout ................................................................................................................95 grGlideShutdown...........................................................................................................................97 grLfbConstantAlpha ......................................................................................................................99 grLfbConstantDepth....................................................................................................................101 grLfbLock.....................................................................................................................................103 grLfbReadRegion.........................................................................................................................107 grLfbUnlock .................................................................................................................................109 grLfbWriteRegion ........................................................................................................................ 111 grLoadGammaTable ....................................................................................................................113 grQueryResolutions ....................................................................................................................115 grRenderBuffer ............................................................................................................................117 grReset.........................................................................................................................................119 grSelectContext ...........................................................................................................................121 grSstSelect...................................................................................................................................125 grSstWinClose .............................................................................................................................127
Recommended publications
  • Contributors
    gems_ch001_fm.qxp 2/23/2004 11:13 AM Page xxxiii Contributors Curtis Beeson, NVIDIA Curtis Beeson moved from SGI to NVIDIA’s Demo Team more than five years ago; he focuses on the art path, the object model, and the DirectX ren- derer of the NVIDIA demo engine. He began working in 3D while attending Carnegie Mellon University, where he generated environments for playback on head-mounted displays at resolutions that left users legally blind. Curtis spe- cializes in the art path and object model of the NVIDIA Demo Team’s scene- graph API—while fighting the urge to succumb to the dark offerings of management in marketing. Kevin Bjorke, NVIDIA Kevin Bjorke works in the Developer Technology group developing and promoting next-generation art tools and entertainments, with a particular eye toward the possibilities inherent in programmable shading hardware. Before joining NVIDIA, he worked extensively in the film, television, and game industries, supervising development and imagery for Final Fantasy: The Spirits Within and The Animatrix; performing numerous technical director and layout animation duties on Toy Story and A Bug’s Life; developing games on just about every commercial platform; producing theme park rides; animating too many TV com- mercials; and booking daytime TV talk shows. He attended several colleges, eventually graduat- ing from the California Institute of the Arts film school. Kevin has been a regular speaker at SIGGRAPH, GDC, and similar events for the past decade. Rod Bogart, Industrial Light & Magic Rod Bogart came to Industrial Light & Magic (ILM) in 1995 after spend- ing three years as a software engineer at Pacific Data Images.
    [Show full text]
  • Troubleshooting Guide Table of Contents -1- General Information
    Troubleshooting Guide This troubleshooting guide will provide you with information about Star Wars®: Episode I Battle for Naboo™. You will find solutions to problems that were encountered while running this program in the Windows 95, 98, 2000 and Millennium Edition (ME) Operating Systems. Table of Contents 1. General Information 2. General Troubleshooting 3. Installation 4. Performance 5. Video Issues 6. Sound Issues 7. CD-ROM Drive Issues 8. Controller Device Issues 9. DirectX Setup 10. How to Contact LucasArts 11. Web Sites -1- General Information DISCLAIMER This troubleshooting guide reflects LucasArts’ best efforts to account for and attempt to solve 6 problems that you may encounter while playing the Battle for Naboo computer video game. LucasArts makes no representation or warranty about the accuracy of the information provided in this troubleshooting guide, what may result or not result from following the suggestions contained in this troubleshooting guide or your success in solving the problems that are causing you to consult this troubleshooting guide. Your decision to follow the suggestions contained in this troubleshooting guide is entirely at your own risk and subject to the specific terms and legal disclaimers stated below and set forth in the Software License and Limited Warranty to which you previously agreed to be bound. This troubleshooting guide also contains reference to third parties and/or third party web sites. The third party web sites are not under the control of LucasArts and LucasArts is not responsible for the contents of any third party web site referenced in this troubleshooting guide or in any other materials provided by LucasArts with the Battle for Naboo computer video game, including without limitation any link contained in a third party web site, or any changes or updates to a third party web site.
    [Show full text]
  • Release 85 Notes
    ForceWare Graphics Drivers Release 85 Notes Version 88.61 For Windows Vista x86 and Windows Vista x64 NVIDIA Corporation May 2006 Published by NVIDIA Corporation 2701 San Tomas Expressway Santa Clara, CA 95050 Notice ALL NVIDIA DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS, DIAGNOSTICS, LISTS, AND OTHER DOCUMENTS (TOGETHER AND SEPARATELY, “MATERIALS”) ARE BEING PROVIDED “AS IS.” NVIDIA MAKES NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. Information furnished is believed to be accurate and reliable. However, NVIDIA Corporation assumes no responsibility for the consequences of use of such information or for any infringement of patents or other rights of third parties that 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 this publication are subject to change without notice. This publication supersedes and replaces all information previously supplied. NVIDIA Corporation products are not authorized for use as critical components in life support devices or systems without express written approval of NVIDIA Corporation. Trademarks NVIDIA, the NVIDIA logo, 3DFX, 3DFX INTERACTIVE, the 3dfx Logo, STB, STB Systems and Design, the STB Logo, the StarBox Logo, NVIDIA nForce, GeForce, NVIDIA Quadro, NVDVD, NVIDIA Personal Cinema, NVIDIA Soundstorm, Vanta, TNT2, TNT,
    [Show full text]
  • 9.Texture Mapping
    OpenGL_PG.book Page 359 Thursday, October 23, 2003 3:23 PM Chapter 9 9.Texture Mapping Chapter Objectives After reading this chapter, you’ll be able to do the following: • Understand what texture mapping can add to your scene • Specify texture images in compressed and uncompressed formats • Control how a texture image is filtered as it’s applied to a fragment • Create and manage texture images in texture objects and, if available, control a high-performance working set of those texture objects • Specify how the color values in the image combine with those of the fragment to which it’s being applied • Supply texture coordinates to indicate how the texture image should be aligned with the objects in your scene • Generate texture coordinates automatically to produce effects such as contour maps and environment maps • Perform complex texture operations in a single pass with multitexturing (sequential texture units) • Use texture combiner functions to mathematically operate on texture, fragment, and constant color values • After texturing, process fragments with secondary colors • Perform transformations on texture coordinates using the texture matrix • Render shadowed objects, using depth textures 359 OpenGL_PG.book Page 360 Thursday, October 23, 2003 3:23 PM So far, every geometric primitive has been drawn as either a solid color or smoothly shaded between the colors at its vertices—that is, they’ve been drawn without texture mapping. If you want to draw a large brick wall without texture mapping, for example, each brick must be drawn as a separate polygon. Without texturing, a large flat wall—which is really a single rectangle—might require thousands of individual bricks, and even then the bricks may appear too smooth and regular to be realistic.
    [Show full text]
  • PACKET 22 BOOKSTORE, TEXTBOOK CHAPTER Reading Graphics
    A.11 GRAPHICS CARDS, Historical Perspective (edited by J Wunderlich PhD in 2020) Graphics Pipeline Evolution 3D graphics pipeline hardware evolved from the large expensive systems of the early 1980s to small workstations and then to PC accelerators in the 1990s, to $X,000 graphics cards of the 2020’s During this period, three major transitions occurred: 1. Performance-leading graphics subsystems PRICE changed from $50,000 in 1980’s down to $200 in 1990’s, then up to $X,0000 in 2020’s. 2. PERFORMANCE increased from 50 million PIXELS PER SECOND in 1980’s to 1 billion pixels per second in 1990’’s and from 100,000 VERTICES PER SECOND to 10 million vertices per second in the 1990’s. In the 2020’s performance is measured more in FRAMES PER SECOND (FPS) 3. Hardware RENDERING evolved from WIREFRAME to FILLED POLYGONS, to FULL- SCENE TEXTURE MAPPING Fixed-Function Graphics Pipelines Throughout the early evolution, graphics hardware was configurable, but not programmable by the application developer. With each generation, incremental improvements were offered. But developers were growing more sophisticated and asking for more new features than could be reasonably offered as built-in fixed functions. The NVIDIA GeForce 3, described by Lindholm, et al. [2001], took the first step toward true general shader programmability. It exposed to the application developer what had been the private internal instruction set of the floating-point vertex engine. This coincided with the release of Microsoft’s DirectX 8 and OpenGL’s vertex shader extensions. Later GPUs, at the time of DirectX 9, extended general programmability and floating point capability to the pixel fragment stage, and made texture available at the vertex stage.
    [Show full text]
  • Linux Hardware Compatibility HOWTO
    Linux Hardware Compatibility HOWTO Steven Pritchard Southern Illinois Linux Users Group [email protected] 3.1.5 Copyright © 2001−2002 by Steven Pritchard Copyright © 1997−1999 by Patrick Reijnen 2002−03−28 This document attempts to list most of the hardware known to be either supported or unsupported under Linux. Linux Hardware Compatibility HOWTO Table of Contents 1. Introduction.....................................................................................................................................................1 1.1. Notes on binary−only drivers...........................................................................................................1 1.2. Notes on commercial drivers............................................................................................................1 1.3. System architectures.........................................................................................................................1 1.4. Related sources of information.........................................................................................................2 1.5. Known problems with this document...............................................................................................2 1.6. New versions of this document.........................................................................................................2 1.7. Feedback and corrections..................................................................................................................3 1.8. Acknowledgments.............................................................................................................................3
    [Show full text]
  • Openscenegraph 3.0 Beginner's Guide
    OpenSceneGraph 3.0 Beginner's Guide Create high-performance virtual reality applications with OpenSceneGraph, one of the best 3D graphics engines Rui Wang Xuelei Qian BIRMINGHAM - MUMBAI OpenSceneGraph 3.0 Beginner's Guide Copyright © 2010 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: December 2010 Production Reference: 1081210 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-849512-82-4 www.packtpub.com Cover Image by Ed Maclean ([email protected]) Credits Authors Editorial Team Leader Rui Wang Akshara Aware Xuelei Qian Project Team Leader Reviewers Lata Basantani Jean-Sébastien Guay Project Coordinator Cedric Pinson
    [Show full text]
  • Programming Guide: Revision 1.4 June 14, 1999 Ccopyright 1998 3Dfxo Interactive,N Inc
    Voodoo3 High-Performance Graphics Engine for 3D Game Acceleration June 14, 1999 al Voodoo3ti HIGH-PERFORMANCEopy en GdRAPHICS E NGINEC FOR fi ot 3D GAME ACCELERATION on Programming Guide: Revision 1.4 June 14, 1999 CCopyright 1998 3Dfxo Interactive,N Inc. All Rights Reserved D 3Dfx Interactive, Inc. 4435 Fortran Drive San Jose CA 95134 Phone: (408) 935-4400 Fax: (408) 935-4424 Copyright 1998 3Dfx Interactive, Inc. Revision 1.4 Proprietary and Preliminary 1 June 14, 1999 Confidential Voodoo3 High-Performance Graphics Engine for 3D Game Acceleration Notice: 3Dfx Interactive, Inc. has made best efforts to ensure that the information contained in this document is accurate and reliable. The information is subject to change without notice. No responsibility is assumed by 3Dfx Interactive, Inc. for the use of this information, nor for infringements of patents or the rights of third parties. This document is the property of 3Dfx Interactive, Inc. and implies no license under patents, copyrights, or trade secrets. Trademarks: All trademarks are the property of their respective owners. Copyright Notice: No part of this publication may be copied, reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photographic, or otherwise, or used as the basis for manufacture or sale of any items without the prior written consent of 3Dfx Interactive, Inc. If this document is downloaded from the 3Dfx Interactive, Inc. world wide web site, the user may view or print it, but may not transmit copies to any other party and may not post it on any other site or location.
    [Show full text]
  • Antialiasing
    Antialiasing CSE 781 Han-Wei Shen What is alias? Alias - A false signal in telecommunication links from beats between signal frequency and sampling frequency (from dictionary.com) Not just telecommunication, alias is everywhere in computer graphics because rendering is essentially a sampling process Examples: Jagged edges False texture patterns Alias caused by under-sampling 1D signal sampling example Actual signal Sampled signal Alias caused by under-sampling 2D texture display example Minor aliasing worse aliasing How often is enough? What is the right sampling frequency? Sampling theorem (or Nyquist limit) - the sampling frequency has to be at least twice the maximum frequency of the signal to be sampled Need two samples in this cycle Reconstruction After the (ideal) sampling is done, we need to reconstruct back the original continuous signal The reconstruction is done by reconstruction filter Reconstruction Filters Common reconstruction filters: Box filter Tent filter Sinc filter = sin(πx)/πx Anti-aliased texture mapping Two problems to address – Magnification Minification Re-sampling Minification and Magnification – resample the signal to a different resolution Minification Magnification (note the minification is done badly here) Magnification Simpler to handle, just resample the reconstructed signal Reconstructed signal Resample the reconstructed signal Magnification Common methods: nearest neighbor (box filter) or linear interpolation (tent filter) Nearest neighbor bilinear interpolation Minification Harder to handle The signal’s frequency is too high to avoid aliasing A possible solution: Increase the low pass filter width of the ideal sinc filter – this effectively blur the image Blur the image first (using any method), and then sample it Minification Several texels cover one pixel (under sampling happens) Solution: Either increase sampling rate or reduce the texture Frequency one pixel We will discuss: Under sample artifact 1.
    [Show full text]
  • Power Optimizations for Graphics Processors
    POWER OPTIMIZATIONS FOR GRAPHICS PROCESSORS B.V.N.SILPA DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING INDIAN INSTITUTE OF TECHNOLOGY DELHI March 2011 POWER OPTIMAZTIONS FOR GRAPHICS PROCESSORS by B.V.N.SILPA Department of Computer Science and Engineering Submitted in fulfillment of the requirements of the degree of Doctor of Philosophy to the Indian Institute of Technology Delhi March 2011 Certificate This is to certify that the thesis titled Power optimizations for graphics pro- cessors being submitted by B V N Silpa for the award of Doctor of Philosophy in Computer Science & Engg. is a record of bona fide work carried out by her under my guidance and supervision at the Deptartment of Computer Science & Engineer- ing, Indian Institute of Technology Delhi. The work presented in this thesis has not been submitted elsewhere, either in part or full, for the award of any other degree or diploma. Preeti Ranjan Panda Professor Dept. of Computer Science & Engg. Indian Institute of Technology Delhi Acknowledgment It is with immense gratitude that I acknowledge the support and help of my Professor Preeti Ranjan Panda in guiding me through this thesis. I would like to thank Professors M. Balakrishnan, Anshul Kumar, G.S. Visweswaran and Kolin Paul for their valuable feedback, suggestions and help in all respects. I am indebted to my dear friend G Kr- ishnaiah for being my constant support and an impartial critique. I would like to thank Neeraj Goel, Anant Vishnoi and Aryabartta Sahu for their technical and moral support. I would also like to thank the staff of Philips, FPGA, Intel laboratories and IIT Delhi for their help.
    [Show full text]
  • Texture Filtering Jim Van Verth Some Definitions
    Texture Filtering Jim Van Verth Some definitions Pixel: picture element. On screen. Texel: texture element. In image (AKA texture). Suppose we have a texture (represented here in blue). We can draw the mapping from a pixel to this space, and represent it as a red square. If our scale from pixel space to texel space is 1:1, with no translation, we just cover one texel, so rendering is easy. If we translate, the pixel can cover more than one texel, with different areas. If we rotate, then the pixel can cover even more texels, with odd shaped areas. And with scaling up the texture (which scales down the pixel area in texture space)... ...or scaling down the texture (which scales up the pixel area in texture space), we also get different types of coverage. So what are we trying to do? We often think of a texture like this -- blocks of “color” (we’ll just assume the texture is grayscale in these diagrams to keep it simple). But really, those blocks represent a sample at the texel center. So what we really have is this. Those samples are snapshots of some function, at a uniform distance apart. We don’t really know what the function is, but assuming it’s fairly smooth it could look something like this. So our goal is to reconstruct this function from the samples, so we can compute in-between values. We can draw our pixel (in 1D form) on this graph. Here the red lines represent the boundary of the pixel in texture space.
    [Show full text]
  • Finally There Are Output Variables, Defining Data Being Passed Onto the Next Stages
    Projekt Resumé I 2016 udgav The Khronos Group Vulkan APIen, med det formål at øge hastigheden på grafikapplikationer, der er CPU-begrænsede. En grafikapplikation er CPU-begrænset, som er når GPUen udfører instrukser hurtigere end CPUen kan sende dem til GPUen. I mod- sætning til tidligere grafik-APIer, så har Vulkan et lavere abstraktionsniveau, og ifølge vores tidligere forskning gør dette APIen svær at anvende. Vi præsenterer PapaGo APIen, der forsøger at øge Vulkans abstraktionsniveau, mens den anvender førnævnte API som sin backend. Vores mål er at skabe en API, hvis abstrak- tionsniveau ligner OpenGLs. Samtidig ønsker vi dog at bibeholde Vulkans statelessness, dens eksplicitte kontrol af GPU-ressourcer samt dens GPU command buffers. Sidstnævnte anvendes til at sende kommandoer til GPUen, og de er centrale i at øge hastigheden af CPU-kode, da de kan genbruges over flere frames og kan optages til i parallel. Vi evaluerer PapaGo’s brugbarhed, hvormed vi introducerer en ny opgavebaseret API- evalueringsmetode baseret på en forgrening af Discount Evaluation. Vores evaluering viser, at vores deltagere, der er mere vante til at programmere med OpenGL eller lignende, hurtigt indpassede sig med vores API. Vi oplevede også at vores deltagere var hurtige til at udføre opgaverne givet til dem. Et performance benchmark blev også udført på PapaGo ved brug af en testapplika- tion. Testapplikationen blev kørt på to forskellige systemer, hvor den første indeholder en AMD Sapphire Radeon R9 280 GPU, imens den anden har en mere kraftfuld NVIDIA GeForce GTX 1060 GPU. I det CPU-begrænsede tilfælde af testen, blev hastigheden af ap- plikationen øget på begge systemer når kommandoer optages i parallel.
    [Show full text]