Buffers, Compositing and Blending Week 8

Total Page:16

File Type:pdf, Size:1020Kb

Buffers, Compositing and Blending Week 8 CS 432/680 INTERACTIVE COMPUTER GRAPHICS Buffers, Compositing and Blending Week 8 David Breen Department of Computer Science Drexel University Based on material from Ed Angel, University of New Mexico Han-Wei Shen, Ohio State University David Blythe, Silicon Graphics & Tom McReynolds, Gigapixel Objectives • Introduce additional OpenGL buffers • Learn to read and write buffers • Learn to use blending • Learn depth-of-field and reflection effects Angel: Interactive Computer Graphics 3E 2 © Addison-Wesley 2002 Pixel and Geometry Pipelines • Parallel pipelines (Geometry & Pixel) come together in the Rasterization stage Angel: Interactive Computer Graphics 3E 3 © Addison-Wesley 2002 Buffer Define a buffer by its spatial resolution (n x m) and its depth k, the number of bits/pixel pixel Angel: Interactive Computer Graphics 3E 4 © Addison-Wesley 2002 OpenGL Frame Buffer Angel: Interactive Computer Graphics 3E 5 © Addison-Wesley 2002 OpenGL Buffers • Color buffers can be displayed – Front – Back – Auxiliary – Overlay • Depth • Accumulation – High resolution buffer • Stencil – Holds masks Angel: Interactive Computer Graphics 3E 6 © Addison-Wesley 2002 Writing in Buffers • Conceptually, we can consider all of memory as a large two-dimensional array of pixels • We read and write rectangular block of pixels – Bit block transfer (bitblt) operations • The frame buffer is part of this memory memory source frame buffer (destination) writing into frame buffer Angel: Interactive Computer Graphics 3E 7 © Addison-Wesley 2002 The Pixel Pipeline • OpenGL has a separate pipeline for pixels – Writing pixels involves • Moving pixels from processor memory to the frame buffer • Unpacking (Format conversions, swapping & alignment) • Transfer ops, Map Lookups, Tests – Reading pixels • Packing (Format conversion, swapping & alignment) Angel: Interactive Computer Graphics 3E 8 © Addison-Wesley 2002 Pixel Storage Modes • Deal with byte-ordering conventions • Memory alignment glPixelStore[if](GLenum pname, TYPE param); pname: GL_UNPACK_SWAP_BYTES, GL_PACK_SWAP_BYTES, GL_UNPACK_LSB_FIRST, GL_PACK_LSB_FIRST, GL_UNPACK_ROW_LENGTH, GL_PACK_ROW_LENGTH, GL_UNPACK_SKIP_ROWS, GL_PACK_SKIP_ROWS, GL_UNPACK_ALIGNMENT, GL_PACK_ALIGNMENT, GL_UNPACK_ALIGNMENT Angel: Interactive Computer Graphics 3E 9 © Addison-Wesley 2002 Pixel Transfer Operations • Color Scale & Bias • Color Index Shift & Offset • Convolution • Matrix multiply glPixelTransferf(GL_RED_SCALE, s); glPixelTransferf(GL_BLUE_BIAS, b); Angel: Interactive Computer Graphics 3E 10 © Addison-Wesley 2002 Pixel Mapping Operations • Color components and color & stencil indices can be modified via a table look-up glPixelMap[ui us f]v(Glenum map, Glint size, TYPE *array); map - GL_PIXEL_MAP_*_TO_* I, S, R, G, B, A Angel: Interactive Computer Graphics 3E 11 © Addison-Wesley 2002 Pixel Tests • Scissor glScissor() – Only draw in a rectangular portion of screen • Alpha glAlphaFunc() – Draw based on alpha value • Stencil glStencilFunc(), glStencilOp() – Draw based on stencil value • Depth glDepthFunc(), – Draw based on depth value Angel: Interactive Computer Graphics 3E 12 © Addison-Wesley 2002 Writing Model Read destination pixel before writing source glLogicOp(GLenum op) Angel: Interactive Computer Graphics 3E 13 © Addison-Wesley 2002 Logical Pixel Operations Angel: Interactive Computer Graphics 3E 14 © Addison-Wesley 2002 Writing Modes • Source and destination bits are combined bitwise • 16 possible functions (one per column in table) AND replace XOR OR NOT(s) Angel: Interactive Computer Graphics 3E 15 © Addison-Wesley 2002 XOR mode • Applying twice returns bit back to original value • XOR is especially useful for swapping blocks of memory such as menus that are stored off screen If S represents screen and M represents a menu the sequence S ← S0 M ← S ⊕ M S ← S ⊕ M swaps the S and M Angel: Interactive Computer Graphics 3E 16 © Addison-Wesley 2002 Raster Position • OpenGL maintains a raster position as part of the state • Set by glRasterPos*() – glRasterPos3f(x, y, z); • The raster position is a geometric entity (like a vertex) – Passes through geometric pipeline – Eventually yields a 2D position in screen coordinates – This position in the frame buffer is where the next raster primitive is drawn Angel: Interactive Computer Graphics 3E 17 © Addison-Wesley 2002 Window Position • In OpenGL 1.4 glWindowPos*() was defined • Allows you to specify current raster position in window coordinates Angel: Interactive Computer Graphics 3E 18 © Addison-Wesley 2002 Buffer Selection • OpenGL can draw into or read from any of the color buffers (front, back, auxiliary) • Default to the back buffer • Change with glDrawBuffer and glReadBuffer • Note that format of the pixels in the frame buffer is different from that of processor memory and these two types of memory reside in different places – Need packing and unpacking – Drawing and reading can be slow Angel: Interactive Computer Graphics 3E 19 © Addison-Wesley 2002 Bitmaps • OpenGL treats 1-bit pixels (bitmaps) differently than multi-bit pixels (pixelmaps) • Bitmaps are masks which determine if the corresponding pixel in the frame buffer is drawn with the present raster color – 0 ⇒ color unchanged – 1 ⇒ color changed based on writing mode • Bitmaps are useful for raster text – GLUT_BIT_MAP_8_BY_13 Angel: Interactive Computer Graphics 3E 20 © Addison-Wesley 2002 Raster Color • Same as drawing color set by glColor*() • Fixed by last call to glRasterPos*() glColor3f(1.0, 0.0, 0.0); glRasterPos3f(x, y, z); glColor3f(0.0, 0.0, 1.0); glBitmap(……. glBegin(GL_LINES); glVertex3f(…..) • Geometry drawn in blue • Ones in bitmap use a drawing color of red Angel: Interactive Computer Graphics 3E 21 © Addison-Wesley 2002 Drawing Bitmaps glBitmap(width, height, x0, y0, xi, yi, bitmap) offset from raster position increments in raster position after bitmap drawn first raster position second raster position Angel: Interactive Computer Graphics 3E 22 © Addison-Wesley 2002 Example: Checker Board GLubyte wb[2] = {0 x 00, 0 x ff}; GLubyte check[4096]; int i, j; for(i=0; i<64; i++) for (j=0; j<64, j++) check[i*8+j] = wb[(i/8+j/8)%2]; glBitmap( 64, 64, 0.0, 0.0, 0.0, 0.0, check); Angel: Interactive Computer Graphics 3E 23 © Addison-Wesley 2002 Pixel Maps • OpenGL works with rectangular arrays of pixels called pixel maps or images • Pixels are in one byte chunks – Luminance (gray scale) images 1 byte/pixel – RGB 3 bytes/pixel • Three functions – Draw pixels: processor memory to frame buffer – Read pixels: frame buffer to processor memory – Copy pixels: frame buffer to frame buffer Angel: Interactive Computer Graphics 3E 24 © Addison-Wesley 2002 OpenGL Pixel Functions glReadPixels(x,y,width,height,format,type,myimage) start pixel in frame buffer size type of pixels type of image pointer to processor memory GLubyte myimage[512][512][3]; glReadPixels(0,0, 512, 512, GL_RGB, GL_UNSIGNED_BYTE, myimage); glDrawPixels(width,height,format,type,myimage) starts at current raster position Angel: Interactive Computer Graphics 3E 25 © Addison-Wesley 2002 OpenGL Pixel Functions glReadPixels(x,y,width,height,format,type,myimage) start pixel in frame buffer size type of pixels type of image pointer to processor memory GLubyte myimage[512][512][3]; glReadPixels(0,0, 512, 512, GL_RGB, GL_UNSIGNED_BYTE, myimage); glDrawPixels(width,height,format,type,myimage) starts at current raster position Angel: Interactive Computer Graphics 3E 26 © Addison-Wesley 2002 OpenGL Pixel Functions glReadPixels(x,y,width,height,format,type,myimage) start pixel in frame buffer size type of pixels type of image pointer to processor memory GLubyte myimage[786432]; glReadPixels(0,0, 512, 512, GL_RGB, GL_UNSIGNED_BYTE, myimage); glDrawPixels(width,height,format,type,myimage) starts at current raster position Angel: Interactive Computer Graphics 3E 27 © Addison-Wesley 2002 Formats & Types • GL_RGB • GL_UNSIGNED_BYTE • GL_RGBA • GL_BYTE • GL_RED • GL_BITMAP • GL_GREEN • GL_UNSIGNED_SHORT • GL_BLUE • GL_SHORT • GL_ALPHA • GL_UNSIGNED_INT • GL_DEPTH_COMPONENT • GL_INT • GL_LUMINANCE • GL_FLOAT • GL_LUMINANCE_ALPHA • GL_UNSIGNED_BYTE_3_3_2 • GL_COLOR_INDEX • GL_UNSIGNED_INT_8_8_8_8 • GL_STENCIL_INDEX • etc. Angel: Interactive Computer Graphics 3E 28 © Addison-Wesley 2002 Image Formats • We often work with images in a standard format (JPEG, TIFF, GIF) • How do we read/write such images with OpenGL? • No support in OpenGL – OpenGL knows nothing of image formats – Some code available on Web – Can write readers/writers for some simple formats in OpenGL Angel: Interactive Computer Graphics 3E 29 © Addison-Wesley 2002 Displaying a PPM Image • PPM is a very simple format • Each image file consists of a header followed by all the pixel data • Header P3 # comment 1 # comment 2 . #comment n rows columns maxvalue pixels Angel: Interactive Computer Graphics 3E 30 © Addison-Wesley 2002 Reading the Header FILE *fd; int k, nm; char c; int i; char b[100]; float s; check for “P3” int red, green, blue; in first line printf("enter file name\n"); scanf("%s", b); fd = fopen(b, "r"); fscanf(fd,"%[^\n] ",b); if(b[0]!='P'|| b[1] != '3'){ printf("%s is not a PPM file!\n", b); exit(0); } printf("%s is a PPM file\n",b); Angel: Interactive Computer Graphics 3E 31 © Addison-Wesley 2002 Reading the Header (cont) fscanf(fd, "%c",&c); while(c == '#') { fscanf(fd, "%[^\n] ", b); printf("%s\n",b); fscanf(fd, "%c",&c); } ungetc(c,fd); skip over comments by looking for # in first column Angel: Interactive Computer Graphics 3E 32 © Addison-Wesley 2002 Reading the Data fscanf(fd, "%d %d %d",
Recommended publications
  • (12) United States Patent (10) Patent No.: US 7,133,041 B2 Kaufman Et Al
    US007133041B2 (12) United States Patent (10) Patent No.: US 7,133,041 B2 Kaufman et al. (45) Date of Patent: Nov. 7, 2006 (54) APPARATUS AND METHOD FOR VOLUME (56) References Cited PROCESSING AND RENDERING U.S. PATENT DOCUMENTS (75) Inventors: Arie E. Kaufman, Plainview, NY (US); 4,314,351 A 2f1982 Postel et al. Ingmar Bitter, Lake Grove, NY (US); 4,371,933 A 2, 1983 Bresenham et al. Frank Dachille, Amityville, NY (US); Kevin Kreeger, East Setauket, NY (Continued) (US); Baoquan Chen, Maple Grove, FOREIGN PATENT DOCUMENTS MN (US) EP O 216 156 A2 4f1987 (73) Assignee: The Research Foundation of State University of New York, Albany, NY (Continued) (US) OTHER PUBLICATIONS (*) Notice: Subject to any disclaimer, the term of this Knittel, G., TriangleCaster: extensions to 3D-texturing units for patent is extended or adjusted under 35 accelerated volume rendering, 1999, Proceedings of the ACM U.S.C. 154(b) by 742 days. SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware, pp. 25-34.* (21) Appl. No.: 10/204,685 (Continued) PCT Fed: Feb. 26, 2001 (22) Primary Examiner Ulka Chauhan (86) PCT No.: PCT/USO1 (O6345 Assistant Examiner Said Broome (74) Attorney, Agent, or Firm Hoffmann & Baron, LLP S 371 (c)(1), (2), (4) Date: Jan. 9, 2003 (57) ABSTRACT (87) PCT Pub. No.: WOO1A63561 An apparatus and method for real-time Volume processing and universal three-dimensional rendering. The apparatus PCT Pub. Date: Aug. 30, 2001 includes a plurality of three-dimensional (3D) memory units; at least one pixel bus for providing global horizontal (65) Prior Publication Data communication; a plurality of rendering pipelines; at least one geometry bus; and a control unit.
    [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]
  • 3D Computer Graphics Compiled By: H
    animation Charge-coupled device Charts on SO(3) chemistry chirality chromatic aberration chrominance Cinema 4D cinematography CinePaint Circle circumference ClanLib Class of the Titans clean room design Clifford algebra Clip Mapping Clipping (computer graphics) Clipping_(computer_graphics) Cocoa (API) CODE V collinear collision detection color color buffer comic book Comm. ACM Command & Conquer: Tiberian series Commutative operation Compact disc Comparison of Direct3D and OpenGL compiler Compiz complement (set theory) complex analysis complex number complex polygon Component Object Model composite pattern compositing Compression artifacts computationReverse computational Catmull-Clark fluid dynamics computational geometry subdivision Computational_geometry computed surface axial tomography Cel-shaded Computed tomography computer animation Computer Aided Design computerCg andprogramming video games Computer animation computer cluster computer display computer file computer game computer games computer generated image computer graphics Computer hardware Computer History Museum Computer keyboard Computer mouse computer program Computer programming computer science computer software computer storage Computer-aided design Computer-aided design#Capabilities computer-aided manufacturing computer-generated imagery concave cone (solid)language Cone tracing Conjugacy_class#Conjugacy_as_group_action Clipmap COLLADA consortium constraints Comparison Constructive solid geometry of continuous Direct3D function contrast ratioand conversion OpenGL between
    [Show full text]
  • Visual Computing Systems CMU 15-769, Fall 2016 Lecture
    Lecture 20: Scheduling the Graphics Pipeline on a GPU Visual Computing Systems CMU 15-769, Fall 2016 Today ▪ Real-time 3D graphics workload metrics ▪ Scheduling the graphics pipeline on a modern GPU CMU 15-769, Fall 2016 Quick aside: tessellation CMU 15-769, Fall 2016 Triangle size (data from 2010) 30 20 10 Percentage of total triangles of total Percentage 0 [0-1] [1-5] [5-10] [10-20] [20-30] [30-40] [40-50] [50-60] [60-70] [70-80] [80-90] [90-100] [> 100] Triangle area (pixels) [source: NVIDIA] CMU 15-769, Fall 2016 Low geometric detail Credit: Pro Evolution Soccer 2010 CMU (Konami) 15-769, Fall 2016 Surface tessellation Approximating Subdivision Surfaces with Gregory Patches Procedurally generate Approximatingfne triangle mesh from coarse Subdivision mesh representation Surfaces with Gregory Patches for Hardwarefor Hardware Tessellation Tessellation CharlesCharles Loop Loop Scott SchaeferScott Schaefer TianyunTianyun Ni NiIgnacio Casta˜noIgnacio Casta˜no MicrosoftMicrosoft Research Research TexasTexas A&M A&M University University NVIDIANVIDIA NVIDIA NVIDIA Coarse geometry Post-Tessellation (fne) geometry [image credit:Figure Loop et al. 1: 2009]The first image (far left) illustrates an input control mesh; CMUregular 15-769, Fall 201 (gold)6 faces do not have an incident extraordinary vertex, irregularFigure quads 1: The (purple) first haveimage at (far least left) one extraordinary illustrates an ve inputrtex, and control triangular mesh; (green)regular faces (gold) are allowed. faces do The not second have an and incident third images extraordinary show vertex, theirregular parametric quads patches (purple) we generate. have at The least final one image extraordinary is of the same vertex, surface and with triangular a displacement (green) map faces applied.
    [Show full text]
  • Opengl Performer™ Programmer's Guide
    OpenGL Performer™ Programmer’s Guide 007-1680-060 CONTRIBUTORS Written by George Eckel and Ken Jones Edited by Rick Thompson and Susan Wilkening Illustrated by Chrystie Danzer and Chris Wengelski Production by Adrian Daley and Karen Jacobson Engineering contributions by Angus Dorbie, Tom Flynn, Yair Kurzion, Radomir Mech, Alexandre Naaman, Marcin Romaszewicz, Allan Schaffer, and Jenny Zhao COPYRIGHT © 1997, 2000 Silicon Graphics, Inc. All rights reserved; provided portions may be copyright in third parties, as indicated elsewhere herein. No permission is granted to copy, distribute, or create derivative works from the contents of this electronic documentation in any manner, in whole or in part, without the prior written permission of Silicon Graphics, Inc. LIMITED RIGHTS LEGEND The electronic (software) version of this document was developed at private expense; if acquired under an agreement with the USA government or any contractor thereto, it is acquired as "commercial computer software" subject to the provisions of its applicable license agreement, as specified in (a) 48 CFR 12.212 of the FAR; or, if acquired for Department of Defense units, (b) 48 CFR 227-7202 of the DoD FAR Supplement; or sections succeeding thereto. Contractor/manufacturer is Silicon Graphics, Inc., 1600 Amphitheatre Pkwy 2E, Mountain View, CA 94043-1351. TRADEMARKS AND ATTRIBUTIONS Silicon Graphics,IRIS, IRIS Indigo, IRIX, ImageVision Library, Indigo, Indy, InfiniteReality, Onyx, OpenGL, are registered trademarks, SGI, and CASEVision, Crimson, Elan Graphics, IRIS Geometry Pipeline, IRIS GL, IRIS Graphics Library, IRIS InSight, IRIS Inventor, Indigo Elan, Indigo2, InfiniteReality2, OpenGL Performer, Personal IRIS, POWER Series, Performance Co-Pilot, RealityEngine, RealityEngine2, SGI logo, and Showcase are trademarks of Silicon Graphics, Inc.
    [Show full text]
  • Appendix C Graphics and Computing Gpus
    C APPENDIX Graphics and Computing GPUs John Nickolls Imagination is more Director of Architecture important than NVIDIA knowledge. David Kirk Chief Scientist Albert Einstein On Science, 1930s NVIDIA C.1 Introduction C-3 C.2 GPU System Architectures C-7 C.3 Programming GPUs C-12 C.4 Multithreaded Multiprocessor Architecture C-24 C.5 Parallel Memory System C-36 C.6 Floating-point Arithmetic C-41 C.7 Real Stuff: The NVIDIA GeForce 8800 C-45 C.8 Real Stuff: Mapping Applications to GPUs C-54 C.9 Fallacies and Pitfalls C-70 C.10 Concluding Remarks C-74 C.11 Historical Perspective and Further Reading C-75 C.1 Introduction Th is appendix focuses on the GPU—the ubiquitous graphics processing unit graphics processing in every PC, laptop, desktop computer, and workstation. In its most basic form, unit (GPU) A processor the GPU generates 2D and 3D graphics, images, and video that enable window- optimized for 2D and 3D based operating systems, graphical user interfaces, video games, visual imaging graphics, video, visual computing, and display. applications, and video. Th e modern GPU that we describe here is a highly parallel, highly multithreaded multiprocessor optimized for visual computing. To provide visual computing real-time visual interaction with computed objects via graphics, images, and video, A mix of graphics the GPU has a unifi ed graphics and computing architecture that serves as both a processing and computing programmable graphics processor and a scalable parallel computing platform. PCs that lets you visually interact with computed and game consoles combine a GPU with a CPU to form heterogeneous systems.
    [Show full text]
  • An Introductory Tour of Interactive Rendering by Eric Haines, [email protected]
    An Introductory Tour of Interactive Rendering by Eric Haines, [email protected] [near-final draft, 9/23/05, for IEEE CG&A January/February 2006, p. 76-87] Abstract: The past decade has seen major improvements, in both speed and quality, in the area of interactive rendering. The focus of this article is on the evolution of the consumer-level personal graphics processor, since this is now the standard platform for most researchers developing new algorithms in the field. Instead of a survey approach covering all topics, this article covers the basics and then provides a tour of some parts the field. The goals are a firm understanding of what newer graphics processors provide and a sense of how different algorithms are developed in response to these capabilities. Keywords: graphics processors, GPU, interactive, real-time, shading, texturing In the past decade 3D graphics accelerators for personal computers have transformed from an expensive curiosity to a basic requirement. Along the way the traditional interactive rendering pipeline has undergone a major transformation, from a fixed- function architecture to a programmable stream processor. With faster speeds and new functionality have come new ways of thinking about how graphics hardware can be used for rendering and other tasks. While expanded capabilities have in some cases simply meant that old algorithms could now be run at interactive rates, the performance characteristics of the new hardware has also meant that novel approaches to traditional problems often yield superior results. The term “interactive rendering” can have a number of different meanings. Certainly the user interfaces for operating systems, photo manipulation capabilities of paint programs, and line and text display attributes of CAD drafting programs are all graphical in nature.
    [Show full text]
  • Linzhi Working Papers Posts Against Progpow
    Linzhi Semiconductors Linzhi Working Papers No 15 Posts against ProgPoW - 2019 May-Sep September 2019 Keywords: LWP15, ProgPoW, Resistance, Ethereum This publication is available on https://linzhi.io Telegram discussion https://t.me/LinzhiCorp All original rights for text and media are released into the public domain, attribution welcome. Rights of quoted or translated sources remain with their respective owners. 9/25/2019 Posts Against ProgPoW - 2019 May-Sep Posts Against ProgPoW - 2019 May-Sep This is a collection of Linzhi's debate contributions from May to September 2019, with contextual contributions by Tim Olson, OhGodAGirl (Kristy-Leigh Minehan) and others. The purpose of this collection is to document the authenticity and validity of Linzhi's contributions, and to serve as a focal point for further investigations into ProgPoW. The full threads on the Ethereum Magicians Forum are hard to parse because of repeated attempts to derail the conversation. We do not attempt to provide any documentation of the pro-ProgPoW arguments, and include such posts only where necessary to provide context. We add that we observed editing and deleting of pro-ProgPoW posts in social media, weeks or months after posts were made. We also suspect, without evidence other than eyebrow-raising continuity of some details, that several authors writing pro-ProgPoW posts under a variety of accounts are in fact all writing in a coordinated way. This collection merges posts from both threads chronologically. The collection ends with Linzhi's last contribution on September 6, 2019. Sources: EIP-ProgPoW: a Programmatic Proof-of-Work (2018-05-03) https://ethereum-magicians.org/t/progpow-audit-delay-issue/272 ProgPoW Audit Delay Issue (2019-05-23) https://ethereum-magicians.org/t/progpow-audit-delay-issue/3309 Linzhi Team, Shenzhen, September 25, 2019 Telegram: t.me/LinzhiCorp ifdefelse #1 January 16, 2019, 7:23am We propose an alternate proof-of-work algorithm tuned for commodity hardware in order to close the efficiency gap available to specialized ASICs.
    [Show full text]
  • Design of a High Performance Volume Visualization System
    Design Of A High Performance Volume Visualization System Barthold Lichtenbelt* Graphics Products Laboratory, Hewlett-Packard memory bandwidth and bus bandwidth. Visualizing a reasonable Abstract volume dataset of 64 Mbytes in real time is beyond today’s desktop computers. Visualizing an ever bigger dataset of about 512 Mbytes in real time is beyond today’s supercomputers. Visunlizing three dimensional discrete datasets has been a topic of Therefore people have been designing, and building special many research projects and papers in the past decade. We discuss purpose hardware that will accelerate the rendering of volume the issues that come up when designing a whole computer system datasets, much beyond what a general CPU is capable of doing. cnpable of visualizing these datasets in real time. We explain the This makes perfect sense because we expect that a well designed three way chicken and egg problem and discuss Hewlett- volume visualization system will outperform general CPU Packard’s effort at breaking it with the Voxelator API extensions solutions by several orders of magnitude. to OpenGL. We enumerate what a good hardware design should accomplish, We discuss what system issues are important and One of the problems we are faced with in designing a volume show how to integrate volume visualization hardware in one of visualization system is system integration. Globally there are Hewlett-Packard’s graphics accelerators, the VISUALIZE-48XP. three crucial areas that need to be addressed in order to be able to We show why the Voxelator is an efficient and well designed API produce a good volume visualization system. First, there should by explnining how various existing hardware engines will easily be hardware that accelerates the volume visualization.
    [Show full text]
  • Visual Computing Systems Stanford CS348K, Spring 2020 Lecture
    Lecture 14: Scheduling the Graphics Pipeline on a GPU Visual Computing Systems Stanford CS348K, Spring 2020 Today ▪ Real-time 3D graphics workload metrics ▪ Scheduling the graphics pipeline on a modern GPU Stanford CS348K, Spring 2020 Quick Review Stanford CS348K, Spring 2020 Real-time graphics pipeline architecture Memory Buffers (system state) 3 1 Vertex Generation 4 Vertex data buffers 2 Vertices Vertex stream Vertex Processing Buffers, textures Vertex stream Primitive Generation Primitive stream Primitives Primitive Processing Buffers, textures Primitive stream Fragment Generation (Rasterization) Fragment stream Fragments Fragment Processing Buffers, textures Fragment stream Pixels Pixel Operations Output image buffer Stanford CS348K, Spring 2020 Programming the graphics pipeline ▪ Issue draw commands output image contents change Command Type Command State change Bind shaders, textures, uniforms Draw Draw using vertex buffer for object 1 State change Bind new uniforms Draw Draw using vertex buffer for object 2 State change Bind new shader Draw Draw using vertex buffer for object 3 State change Change depth test function State change Bind new shader Draw Draw using vertex buffer for object 4 Final rendered output should be consistent with the results of executing these commands in the order they are issued to the graphics pipeline. Stanford CS348K, Spring 2020 GPU: heterogeneous parallel processor SIMD SIMD SIMD SIMD Texture Texture Exec Exec Exec Exec Cache Cache Cache Cache Texture Texture SIMD SIMD SIMD SIMD Tessellate Tessellate Exec Exec
    [Show full text]
  • April/May 1997
    APRIL/MAY 1997 GAME DEVELOPER MAGAZINE GAME PLAN Chapter IV: A New Hope EDITOR IN CHIEF Alex Dunne [email protected] MANAGING EDITOR Tor D. Berg hen engaged in a With this issue we also kick off our [email protected] long-term project, it’s new design, which is more dynamic EDITORIAL ASSISTANT Chris Minnick cminnick@mfi.com helpful to stop what and visual than our old look. It’s also CONTRIBUTING EDITORS Larry O’Brien W you’re doing once in a more playful, which is certainly in [email protected] while and assess your progress. Are you keeping with the spirit of our creative Chris Hecker on schedule? Will you reach your community. I hope you’ll appreciate [email protected] goals? Perhaps more importantly, are the new aspects of the design, and we David Seiks [email protected] your goals still valid, or has the market- trust you’ll give us your feedback on Ben Sawyer place changed enough to warrant a what’s working and what isn’t. [email protected] change in your plans? This issue also marks the beginning ADVISORY BOARD Hal Barwood Here at Game Developer, we decided of a new program designed to promote Noah Falstein that it was time to do just such an the talents of game artists and anima- Susan Lee-Merrow assessment of the magazine. It’s been tors. Each issue will feature custom art- Mark Miller three years since a group of editors work by artists in the industry. You can Josh White (notably Alexander Antoniades — check out a short bio about the artist 6 thanks Sander!) dreamt up a magazine and the tools they used to create the COVER IMAGE Vector Graphics aimed at game programmers.
    [Show full text]
  • Fakultet Za Informatiku I Menadžment
    FAKULTET ZA INFORMATIKU I MENADŽMENT Dilara Kuscuoglu REKLAMA ZA AUTOMOBIL – Diplomski rad – 1 FAKULTET ZA INFORMATIKU I MENADŽMENT REKLAMA ZA AUTOMOBIL – Diplomski rad – Mentor: Student: Prof. dr Dragan Cvetković Dilara Kuscuoglu Broj indeksa: 160/2003 2 UNIVERZIET SINGIDUNUM FAKULTET ZA INFORMATIKU I MENADŽMENT Beograd, Danijelova 32 Kandidat: Dilara Kuscuoglu Broj indeksa: 160/2003 Smer: Grafički dizajn Tema: REKLAMA ZA AUTOMOBIL Zadatak: Napraviti reklamni spot za automobil. Objasniti proces modelovanja i proces izrade reklame. MENTOR: DEKAN: _____________________ _____________________ Prof. dr Dragan Cvetković Prof. dr Milan Milosavljević 3 SADRŽAJ: REZIME…………………………………………………………………………………7 UVOD.............................……………………………………………………...………8 RAČUNARSKA GRAFIKA……………………………………………..…………....9 3D RAČUNARSKA GRAFIKA....…………………………………….…………….10 ISTORIJA 3D RAČUNARSKE GRAFIKE…………………..…………………….11 BUDUĆNOST 3D GRAFIKE………………………………………..………………12 3D MODELOVANJE…………………………………………................................13 FIZIČKA SIMULACIJA.....................................................................................13 PROCES 3D MODELOVANJA.................................................................14 POLIGONO MODELOVANJE...........................................................................14 NURBS..............................................................................................................14 LAYOUT I ANIMACIJA.....................................................................................15 ORGANIZACIJA SCENE..................................................................................15
    [Show full text]