Learning Modern 3D Graphics Programming

My image
  • Author: Jason L. McKesson
  • Format: online HTML
  • Price: free

What this book offers is beginner-level instruction on what many consider to be an advanced concept. It teaches programmable rendering for beginning graphics programmers, from the ground up.
This book also covers some important material that is often neglected or otherwise relegated to “advanced” concepts. These concepts are not truly advanced, but they are often ignored by most introductory material because they do not work with the fixed function pipeline.

This book is first and foremost about learning how to be a graphics programmer. Therefore, whenever it is possible and practical, this book will present material in a way that encourages the reader to examine what graphics hardware can do in new and interesting ways. A good graphics programmer sees the graphics hardware as a set of tools to fulfill their needs, and this book tries to encourage this kind of thinking.

One thing this book is not, however, is a book on graphics APIs. While it does use OpenGL and out of necessity teach rendering concepts in terms of OpenGL, it is not truly a book that is about OpenGL. It is not the purpose of this book to teach you all of the ins and outs of the OpenGL API.There will be parts of OpenGL functionality that are not dealt with because they are not relevant to any of the lessons that this book teaches. If you already know graphics and are in need of a book that teaches modern OpenGL programming, this is not it. It may be useful to you in that capacity, but that is not this book’s main thrust.
This book is intended to teach you how to be a graphics programmer. It is not aimed at any particular graphics field; it is designed to cover most of the basics of 3D rendering. So if you want to be a game developer, a CAD program designer, do some computer visualization, or any number of things, this book can still be an asset for you.

This does not mean that it covers everything there is about 3D graphics. Hardly. It tries to provide a sound foundation for your further exploration in whatever field of 3D graphics you are interested in.

Chapters include:

  • Hello, Triangle!
  • Playing with Colors
  • OpenGL’s Moving Triangle
  • Objects at Rest
  • Objects in Depth
  • Objects in Motion
  • World in Motion
  • Getting Oriented
  • Lights On
  • Plane Lights
  • Shinies
  • Dynamic Range
  • Lies and Impostors
  • Textures are not Pictures
  • Many Images
  • Gamma and Textures
  • Spotlight on Textures
  • Framebuffer
  • Advanced Lighting
  • Further Study

Access this book on archive.org

Programming Windows 8 Apps with HTML, CSS, and JavaScript (Second Preview)

My image
  • Author: Kraig Brockschmidt
  • Format: PDF
  • Price: free

This book is about writing Windows 8 apps in HTML, CSS, and JavaScript. The earlier chapters are indeed very specific to that particular choice of language and presentation layer, along with the Windows Library for JavaScript.

Somewhere around Chapters 7 and 8, however, we really begin to transition more into the WinRT APIs that are applicable to apps written in any language. I’m finding this especially true as I’m writing Chapter 13 on live tiles and notifications—very little of it, other than the code snippets, is unique to JavaScript, especially when talking about tile-updating web services written with server-side technologies like PHP and ASP.NET! My point in saying this is that while I’ve written this book ostensibly for web developers who are and will be looking to create apps for Windows 8 and the Windows Store, much of this book will also be very helpful to Windows 8 developers in general. And since it is now and will be a free ebook, you can’t lose!

Chapters include:

  • The Life Story of a WinRT App: Platform Characteristics of Windows 8
  • Quickstart
  • App Anatomy and Page Navigation
  • Controls, Control Styling, and Data Binding
  • Collections and Collection Controls
  • Layout
  • Commanding UI
  • State, Settings, Files, and Documents
  • Input and Sensors
  • Media
  • Purposeful Animations
  • Contracts


Moving to Microsoft Visual Studio 2010

My image
  • Author: Patrice Pelland, Pascal Paré, and Ken Haines
  • Format: PDF, XPS
  • Price: free

This book is for professional developers who are working with previous versions of Visual Studio and are looking to make the move to Visual Studio 2010 Professional.

It is is not a language primer, a language reference, or a single technology book. It’s a book that will help professional developers move from previous versions of Visual Studio (starting with 2003 and on up). It will cover the features of Visual Studio 2010 through an application. It will go through a lot of the exciting new language features and new versions of the most popular technologies without putting the emphasis on the technologies themselves. It will instead put the emphasis on how you would get to those new tools and features from Visual Studio 2010. If you are expecting this book to thoroughly cover the new Entity Framework or ASP.NET MVC 2, this is not the book for you. If you want to read a book where the focus is on Visual Studio 2010 and on the reasons for moving to Visual Studio 2010, this is the book for you.

Chapters include:

  • From 2003 to 2010: Business Logic and Data
  • From 2003 to 2010: Designing the Look and Feel
  • From 2003 to 2010: Debugging an Application
  • From 2003 to 2010: Deploying an Application
  • From 2005 to 2010: Business Logic and Data
  • From 2005 to 2010: Designing the Look and Feel
  • From 2005 to 2010: Debugging an Application
  • From 2008 to 2010: Business Logic and Data
  • From 2008 to 2010: Designing the Look and Feel
  • From 2008 to 2010: Debugging an Application


Systemic Software Debugging

Systemic Software Debugging
  • Author: Per Mellstrand and Björn Ståhl
  • Format: PDF
  • Price: free

Systemic Software Debugging is a light-hearted introduction to the wonderful world of, well, systemic debugging, i.e. chasing down those pesky problems that you won’t find by single- stepping through ten lines of code or taking a peak at the back-trace of a core dump. The kinds of issues that seem to magically appear after software gets even a flicker of a chance to grow out of proportion, when the build system takes a life of its own or when you have to keep a ten year old release of a compiler around just because that was the one version that managed to produce a binary that almost lived up to expectations.

This work was initially written in 2009-2010 for the use as supplementary reading material part of a seminar- oriented course in systemic debugging with a target audience of engineers and senior engineers at Sony Mobile Communications (formerly Sony Ericsson), constrained to about 150 pages with the goal of introducing as much of the notion of the systemic side of debugging as possible. It is published in a free and open form (CC-BY-3.0) in the hopes that it might be useful to other curious souls out there.

Chapters include:

  • Demarcation
  • Software and Software-Intensive Systems
  • Cause and/of Panic
  • The Origin of Anomalies
  • Debugging Methodology
  • Software Demysti?ed
  • Hello, World. Is This a Bug?
  • Transforming Source Code into an Executable Binary
  • Developer and Development of High-Level Code
  • Source Code and the Compiler
  • Object Code and the Linker
  • Executable Binary and Loading
  • Executing Software and the Machine
  • Operating System and the Process
  • Principal Debugging
  • Why Analyze a System
  • Software System Analysis
  • System Views and Analysis Actions
  • Information Sources
  • The Software Analysis Conundrum
  • Analysis Imperatives
  • Tools of the Trade


Programming in Lua (first edition)

Programming in Lua (first edition)
  • Author: Roberto Ierusalimschy
  • Format: online HTML
  • Price: free

This book is a detailed and authoritative introduction to all aspects of Lua programming, by Lua’s chief architect.

Programming in Lua gives a solid base for any programmer who wants to use Lua. It covers all aspects of Lua—from the basics to its API with C—explaining how to make good use of its features and giving numerous code examples. The book is targeted at people with some programming background, but it does not assume any prior knowledge about Lua or other scripting languages.

Chapters include:

  • Chunks
  • Global Variables
  • Some Lexical Conventions
  • The Stand-Alone Interpreter
  • Nil
  • Booleans
  • Numbers
  • Strings
  • Tables
  • Functions
  • Userdata and Threads
  • Arithmetic Operators
  • Relational Operators
  • Logical Operators
  • Concatenation
  • Precedence
  • Table Constructors
  • Assignment
  • Local Variables and Blocks
  • Control Structures
  • break and return
  • Multiple Results
  • Variable Number of Arguments
  • Named Arguments
  • Closures
  • Non-Global Functions
  • Proper Tail Calls
  • Iterators and the Generic for
  • Compilation, Execution, and Errors
  • Coroutine Basics
  • Pipes and Filters
  • Coroutines as Iterators
  • Non-Preemptive Multithreading
  • Complete Examples
  • Arrays
  • Linked Lists
  • Matrices and Multi-Dimensional Arrays
  • Queues and Double Queues
  • Sets and Bags
  • String Buffers
  • Data Files and Persistence
  • Arithmetic Metamethods
  • Relational Metamethods
  • Library-Defined Metamethods
  • Table-Access Metamethods
  • Accessing Global Variables with Dynamic Names
  • Declaring Global Variables
  • Non-Global Environments
  • Packages
  • Object-Oriented Programming
  • Weak Tables
  • The Mathematical Library
  • The Table Library
  • The String Library
  • The I/O Library
  • The Operating System Library
  • The Debug Library
  • An Overview of the C API
  • Extending your Application
  • Calling C from Lua
  • Techniques for Writing C Functions
  • User-Defined Types in C
  • Managing Resources