Android is booming like never before, with millions of devices shipping every day. It’s never been a better time to learn how to create your own 3D games and live wallpaper for Android. You’ll find out all about shaders and the OpenGL pipeline, and discover the power of OpenGL ES 2.0, which is much more feature-rich than its predecessor. If you can program in Java and you have a creative vision that you’d like to share with the world, then this is the book for you.
이에 대한 효율적인 해답을 제시하는 것이 병렬 컴퓨팅 프레임워크 OpenCL이다. 『OpenCL 프로그래밍』에서는 OpenCL의 개념을 소개하는 것은 물론이고 멀티코어, 병렬 컴퓨팅이라는 3가지 분야의 기초를 탄탄하게 잡아준다. 또한 주가 데이터 분석 프로그램, 고속 푸리에 연산 프로그램을 통해 병렬처리 프로그램을 만드는 방법까지 확실하게 소개한다. 게임 그래픽 연산 처리, 금융 공학, 빅데이터 분석 등 병렬처리 프로그래밍의 적용 분야가 확대되는 요즘 표준화된 병렬처리 프로그래밍 방법을 익히는 것은 선택이 아닌 필수다. 이제 『OpenCL 프로그래밍』을 통해 병렬처리 프로그래밍을 시작하자.
OpenGL ES technology underlies the user interface and graphical capabilities of Apple’s iPhone, iPod touch, and iPad–as well as devices ranging from video-game consoles and aircraft-cockpit displays to non-Apple smartphones. In this friendly, thorough introduction, Erik M. Buck shows how to make the most of Open GL ES in Apple’s iOS environment. This highly anticipated title focuses on modern, efficient approaches that use the newest versions of OpenGL ES, helping you avoid the irrelevant, obsolete, and misleading techniques that litter the Internet. Buck embraces Objective-C and Cocoa Touch, showing how to leverage Apple’s powerful, elegant GLKit framework to maximize your productivity, achieve tight platform integration, and deliver exceptionally polished apps. If you’ve written C or C++ code and know object-oriented programming basics, this title brings together everything you need to fully master OpenGL ES graphics for iOS–including downloadable examples specifically designed to jumpstart your own projects.
In Pro OpenGL ES for Android, you’ll find out how to harness the full power of OpenGL ES, and design your own 3D applications by building a fully-functional 3D solar system model using Open GL ES!
OpenGL has set the standard for 3D computer graphics, and is an essential aspect of Android development. This book offers everything you need to know, from basic mathematical concepts to advanced coding techniques. You’ll learn by building a fascinating 3D solar system simulator!
After introducing Open GL ES, Pro OpenGL ES for Android explains the basics of 3D math and then orients you to the native Android 3D libraries you’ll be using in your own 3D games and the solar system project you’ll build using this book. Through the solar system example project, you’ll learn how to incorporate a variety of graphic and animation techniques into your applications. You will also discover how the full spectrum of 3D development that awaits, with topics such as lighting, texture-mapping, modeling, shaders, blending modes, and several more advanced concepts.
By the time you finish Pro OpenGL ES for Android, you’ll have learned all the skills you’ll need to build your own incredible 3D applications, based on one of the most powerful 3D libraries available.
In Pro OpenGL ES for iOS, you’ll find out how to harness the full power of OpenGL ES, and design your own 3D applications by building a fully-functional 3D solar system model using Open GL ES!
OpenGL has set the standard for 3D computer graphics, and is an essential aspect of iPhone, iPad, and iOS development. This book offers everything you need to know, from basic mathematical concepts to advanced coding techniques. You’ll learn by building this fascinating 3D solar system simulator!
After introducing OpenGL ES, Pro OpenGL ES for iOS explains the basics of 3D math and then orients you to the iOS-native 3D libraries you’ll be using in your own 3D games and the solar system project you’ll build using this book. Through the solar system example project, you’ll learn how to incorporate a variety of graphic and animation techniques into your applications. You will also discover how the full spectrum of 3D development that awaits, with topics such as lighting, texture-mapping, modeling, shaders, blending modes, and several more advanced concepts.
By the time you finish Pro OpenGL ES for iOS, you’ll have learned all the skills you’ll need to build your own incredible 3D applications, based on one of the most powerful 3D libraries available.
Get Real-World Insight from Experienced Professionals in the OpenGL Community
With OpenGL, OpenGL ES, and WebGL, real-time rendering is becoming available everywhere, from AAA games to mobile phones to web pages. Assembling contributions from experienced developers, vendors, researchers, and educators, OpenGL Insights presents real-world techniques for intermediate and advanced OpenGL, OpenGL ES, and WebGL developers.
Go Beyond the Basics
The book thoroughly covers a range of topics, including OpenGL 4.2 and recent extensions. It explains how to optimize for mobile devices, explores the design of WebGL libraries, and discusses OpenGL in the classroom. The contributors also examine asynchronous buffer and texture transfers, performance state tracking, and programmable vertex pulling.
Sharpen Your Skills
Focusing on current and emerging techniques for the OpenGL family of APIs, this book demonstrates the breadth and depth of OpenGL. Readers will gain practical skills to solve problems related to performance, rendering, profiling, framework design, and more.
Learning HTML5 Game Programming: A Hands-on Guide to Building Online Games Using Canvas, SVG, and We
HTML5 will transform web and mobile gaming. As new browsers rapidly adopt it, HTML5 will do everything “legacy” technologies such as Flash and Silverlight have done—and much more. In Learning HTML5 Game Programming, pioneering developer James L. Williams gives you all the knowledge, code, and insights you’ll need to get started fast!
Williams combines detailed explanations of HTML5’s key innovations with examples, including two case study applications that address the entire development process. He guides you through setting up a state-of-the-art HTML5 development environment; making the most of HTML5’s canvas tag, SVG vector graphics, and WebGL 3D; and targeting diverse mobile and social platforms. It’s all here: from the essentials of online game design to the nitty-gritty details of performance optimization.
WebGLは、3DCGの分野で広く用いられているOpenGLをもとに組み込み機器向けの描画ライブラリとして策定されたOpenGL ESを、ウェブブラウザ上で使用できるようにしたものです。Google ChromeやFirefoxなど、WebGLに対応するウェブブラウザであれば、グラフィックスハードウェアの処理能力を活用した3DCGを特別なプラグインなしに表示することができます。
This book contains the most important and essential information required for designing correct and efficient OpenCL programs. Some details have been omitted but can be found in the provided references. The authors assume that readers are familiar with basic concepts of parallel computation, have some programming experience with C or C++ and have a fundamental understanding of computer architecture. In the book, all terms, definitions and function signatures have been copied from official API documents available on the page of the OpenCL standards creators.
The book starts with the basics of parallelization, covers the main concepts, grammar, and setting up a development environment for OpenCL, concluding with source-code walkthroughs of the FFT and Mersenne Twister algorithms written in OpenCL. The revised edition includes a summary of changes made in OpenCL Specification 1.2, reference functions corresponding to 1.2, and updated excursion environments. It is highly recommended for those wishing to get started on programming in OpenCL.
As the newest technology for creating 3D graphics on the web, in both games, applications, and on regular websites, WebGL gives web developers the capability to produce eye-popping graphics. This book teaches you how to use WebGL to create stunning cross-platform apps. The book features several detailed examples that show you how to develop 3D graphics with WebGL, including explanations of code snippets that help you understand the why behind the how.
You will also develop a stronger understanding of WebGL development from coverage that:
- Provides a comprehensive overview of WebGL and shows how it relates to other graphics-related technologies
- Addresses important topics such as the WebGL graphics pipeline, 3D transformations, texturing and lighting
- Teaches you how to write vertex shaders and fragment shaders for WebGL
- Includes a lot of useful guidelines, tips, and tricks for WebGL performance optimizations
Professional WebGL Programming is the first book on the market to delve into this fascinating topic and it puts you on your way to mastering the possibilities that exist with WebGL.
Multi-core processors are no longer the future of computing-they are the present day reality. A typical mass-produced CPU features multiple processor cores, while a GPU (Graphics Processing Unit) may have hundreds or even thousands of cores. With the rise of multi-core architectures has come the need to teach advanced programmers a new and essential skill: how to program massively parallel processors.
Programming Massively Parallel Processors: A Hands-on Approach shows both student and professional alike the basic concepts of parallel programming and GPU architecture. Various techniques for constructing parallel programs are explored in detail. Case studies demonstrate the development process, which begins with computational thinking and ends with effective and efficient parallel programs.
Using the new OpenCL (Open Computing Language) standard, you can write applications that access all available programming resources: CPUs, GPUs, and other processors such as DSPs and the Cell/B.E. processor. Already implemented by Apple, AMD, Intel, IBM, NVIDIA, and other leaders, OpenCL has outstanding potential for PCs, servers, handheld/embedded devices, high performance computing, and even cloud systems. This is the first comprehensive, authoritative, and practical guide to OpenCL 1.1 specifically for working developers and software architects.
Heterogeneous Computing with OpenCL teaches OpenCL and parallel programming for complex systems that may include a variety of device architectures: multi-core CPUs, GPUs, and fully-integrated Accelerated Processing Units (APUs) such as AMD Fusion technology. Designed to work on multiple platforms and with wide industry support, OpenCL will help you more effectively program for a heterogeneous future.
クロノス・グループ（The Khronos Group）は、ソフトウエアデベロッパ向けに最先端のグラフィックス性能を最大限活用可能とする、オープンでロイヤリティ無料なAPIの仕様策定を行っています。クロノス・グループには、世界中から業界を代表する企業が会員として参画し、新たな市場創造やその拡大に貢献するAPIの仕様策定作業に取り組んでいます。デスクトップ向けAPIのOpenGLをはじめ、OpenGL ESおよびWebGLといったクロノス・グループが現在仕様策定している各APIは、デスクトップからモバイル、さらにはWebブラウザまで一貫して先進の3Dグラフィックス機能をユーザにもたらす、重要な役割を果たしています。
高度な3Dグラフィックスユーザインターフェースの活用や、多彩なコンテンツを表示するために、携帯電話はじめ多くの携帯デバイスは、その高機能化が加速しています。OpenGL ESは、3D機能に対応した携帯デバイスの多くに採用されている3DグラフィックスAPIであり、また世界で最も多くの製品や市場で幅広く使用されているAPIでもあります。 この書籍を執筆した株式会社ディジタルメディアプロフェッショナル（DMP）は、クロノス・グループの有力会員企業の1社として、長年にわたりOpenGL ESの仕様策定作業に深く関わっています。現在、OpenGL ESに準拠した業界最先端のグラフィックスチップを開発・販売しているほか、日本国内唯一となるクロノス・グループ認定OpenGL ESトレーニングコースを開催しており、OpenGL ESに関するその専門知識と経験は高く評価されています。 OpenGL ESへの理解を深める最適なテキストである本書『OpenGL ESによる3Dグラフィックスプログラミング入門』が、皆さまにとって急速に拡大するビジネス環境の中で、誰もが驚くようなリッチグラフィックス経験を生み出す製品や技術の開発に必要な洞察力をもたらす、「始まり」の1冊となることを期待しています。
本書はOpenGL ES 1.1によるプログラミングの入門書である『OpenGL ESによる3Dグラフィックスプログラミング入門』の続編にあたり、OpenGL ES 2.0でプログラマブルシェーダのプログラミングを始められる方のための入門書です。
第I部では、特定のプラットフォームには依存しない内容を中心に解説していますが、最も身近にあるであろうWindows環境で学習ができないかと考え、OpenGL ES 2.0のGLSL ES 1.00のもとになったデスクトップ向けのOpenGL 2.0のGLSL 1.10を学習環境に選びました。OpenGL 2.0（GLSL 1.10）にはOpenGL ES 2.0（GLSL ES 1.00）に含まれないより多くの便利な機能を持っており、最初はこれらの機能を用いることで、シェーダプログラミングの敷居を低くすることができるためです。GLSL 1.10の解説の後に、GLSL 1.10とGLSL ES 1.00の違いを解説しています。
読者の方には、遠回りに感じるかもしれませんが、OpenGL 2.0（GLSL 1.10）を学習することで結果的にはOpenGL ES 2.0（GLSL ES 1.00）の理解を深めることにつながると考えています。
The book starts with the basics of parallelization, covers the main concepts, grammar, and setting up a development environment for OpenCL, concluding with source-code walkthroughs of the FFT and Mersenne Twister algorithms written in OpenCL. This book is highly recommended for those wishing to get started on programming in OpenCL.
This is an introductory book, where Computer Graphics concepts are addressed in a practical way, linking theory and code samples. Knowledge of C/C++ is recommended, although the book also covers the use of OpenGL in Java, C# and Python. Topics include 2D/3D modeling, geometric transformations navigation in virtual environments, lighting, transparency, texture mapping, optimization, introduction to OpenGL Shading Language.
Este é um livro introdutório, onde os principais conceitos básicos de Computação Gráfica, são abordados de uma forma objetiva, unindo teoria e exemplos práticos. Conhecimento da linguagem C/C++ é recomendado, mas o livro também aborda o uso de OpenGL em Java, C# e Python. Tópicos incluem modelagem 2D/3D, transformações geométricas, navegação em ambientes virtuais, iluminação, transparência, mapeamento de textura, otimização, introdução à OpenGL Shading Language.
Programmable graphics shaders, programs that can be downloaded to a graphics processor (GPU) to carry out operations outside the fixed-function pipeline of earlier standards, have become a key feature of computer graphics. This book is designed to open computer graphics shader programming to the student, whether in a traditional class or on their own. It will complement texts based on fixed-function graphics APIs, specifically OpenGL. It introduces shader programming in general, and specifically the GLSL shader language. It also introduces a flexible, easy-to-use tool, glman, that helps you develop, test, and tune shaders outside an application that would use them.
OpenGL® Shading Language, Second Edition, extensively updated for OpenGL 2.0, is the experienced application programmer’s guide to writing shaders. Part reference, part tutorial, this book thoroughly explains the shift from fixed-functionality graphics hardware to the new era of programmable graphics hardware and the additions to the OpenGL API that support this programmability. With OpenGL and shaders written in the OpenGL Shading Language, applications can perform better, achieving stunning graphics effects by using the capabilities of both the visual processing unit and the central processing unit.
OpenGL ® SuperBible, Fourth Edition, begins by illuminating the core techniques of “classic” OpenGL graphics programming, from drawing in space to geometric transformations, from lighting to texture mapping. The authors cover newer OpenGL capabilities, including OpenGL 2.1’s powerful programmable pipeline, vertex and fragment shaders, and advanced buffers. They also present thorough, up-to-date introductions to OpenGL implementations on multiple platforms, including Windows, Mac OS X, GNU/Linux, UNIX, and embedded systems.
The Mac has fully embraced OpenGL throughout its visual systems. In fact, Apple's highly efficient, modern OpenGL implementation makes Mac OS X one of today's best platforms for OpenGL development. OpenGL® Programming on Mac OS® X is the first comprehensive resource for every graphics programmer who wants to create, port, or optimize OpenGL applications for this high-volume platform.
Leading OpenGL experts Robert Kuehne and J. D. Sullivan thoroughly explain the Mac's diverse OpenGL APIs, both old and new. They illuminate crucial OpenGL setup, configuration, and performance issues that are unique to the Mac platform. Next, they offer practical, start-to-finish guidance for integrating key Mac-native APIs with OpenGL, and leveraging the full power of the Mac platform in your graphics applications.
In the OpenGL(r) ES 2.0 Programming Guide, three leading authorities on the Open GL ES 2.0 interface-including the specification’s editor-provide start-to-finish guidance for maximizing the interface’s value in a wide range of high-performance applications. The authors cover the entire API, including Khronos-ratified extensions. Using detailed C-based code examples, they demonstrate how to set up and program every aspect of the graphics pipeline. You’ll move from introductory techniques all the way to advanced per-pixel lighting, particle systems, and performance optimization.
Shows readers how to create 3D graphics on cell phones, portable game players and other mobile devices. The exploding popularity of mobile computing is undeniable. From cell phones to portable gaming systems, the global demand for multifunctional mobile devices is driving amazing hardware and software developments. 3D graphics are becoming an integral part of these ubiquitous devices, and as a result, Mobile 3D Graphics is arguably the most rapidly advancing area of the computer graphics discipline.
This book explains in detail how to use the COLLADA technology in a project utilizing 3D assets, and ultimately how to create an effective content creation pipeline for the most complex development.
It was created as a guide to the COLLADA 1.4 specification with the goal of providing readers with all the information that will help them understand the concepts, learn how the technology is already implemented by various tools, and provide guidance for using COLLADA in their applications.
The book will be useful for content developers interested in exchanging data between several tools, application developers planning to take advantage of COLLADA in their tool chain and tool providers wanting to add COLLADA compatibility.
Mobile 3D Graphics offers an in-depth look at OpenGL ES and teaches fundamental 3D mobile graphics programming with standard APIs. It covers the basic and advanced application program interfaces behind the major wireless and mobile devices supporting 3D graphics applications. It includes: a comprehensive explanation of 3D mobile graphics programming; an extensive range of OpenGL ES code samples; and examples of combining 3D and 2D mobile graphics methods.