GLSL 4.0: Using Subroutines to Select Shader Functionality
In GLSL, a subroutine is a mechanism for binding a function call to one of a set of possible function definitions based on the value of a variable. Subroutines therefore provide a way to select alternate implementations at runtime without swapping shader programs and/or recompiling, or using if statements along with a uniform variable.
In this article by David Wolff, author of OpenGL 4.0 Shading Language Cookbook, we'll demonstrate the use of subroutines by rendering a teapot twice. The first teapot will be rendered with the full ADS shading model described earlier. The second teapot will be rendered with diffuse shading only. A subroutine uniform will be used to choose between the two shading techniques.
Read GLSL 4.0: Using Subroutines to Select Shader Functionality in fullGLSL 4.0: Discarding Fragments to Create a Perforated Look
Fragment shaders can make use of the discard keyword to "throw away" fragments. Use of this keyword causes the fragment shader to stop execution, without writing anything (including depth) to the output buffer. This provides a way to create holes in polygons without using blending. In fact, since fragments are completely discarded, there is no dependence on the order in which objects are drawn, saving us the trouble of doing any depth sorting that might have been necessary if blending was used. In this recipe by David Wolff, author of OpenGL 4.0 Shading Language Cookbook, we'll draw a teapot, and use the discard keyword to remove fragments selectively based on texture coordinates.
Read GLSL 4.0: Discarding Fragments to Create a Perforated Look in fullThe Basics of GLSL 4.0 Shaders
Shaders give us the power to implement alternative rendering algorithms and a greater degree of flexibility in the implementation of those techniques. With shaders, we can run custom code directly on the GPU, providing us with the opportunity to leverage the high degree of parallelism available with modern GPUs.
This article by David Wolff, author of OpenGL 4.0 Shading Language Cookbook, provides examples of basic shading techniques such as diffuse shading, two-sided shading, and flat shading. Specifically, we will cover:
- Implementing diffuse, per-vertex shading with a single point light source
- Implementing per-vertex ambient, diffuse, and, specular (ADS) shading
- Using functions in shaders
- Implementing two sided shading
- Implementing flat shading
New Microsoft Books
| A complete overview of Packt's recent and upcoming Microsoft books | |
Oracle Integration and Consolidation Products
In early 2010, when you went to the Oracle Technology Network (OTN) website, it had just one link called Information Integration. This link led you to a simple web page that had information on Oracle-to-Oracle database-centric migration and integration tools such as SQL Loader, Data Pump, Oracle Streams, and Oracle Data Guard. The OTN website has been updated, but still lacks comprehensive coverage of the Oracle Information Integration stack.
In the previous article by Tom Laszewski, co-author of Oracle Information Integration, Migration, and Consolidation, we took a look at some oracle tools and products. In this article we will take a look at data services, data consolidation, data grid, information lifecycle management, oracle-to-oracle data integration, and application integration.
Read Oracle Integration and Consolidation Products in fullTerms and Concepts Related to MDX
MDX is a powerful, yet complex language. Many terms and concepts need to be understood well enough if you want to master it. In order to help you in that mission, this article will provide with a short explanation of all important terms related to MDX.
In this article by Tomislav Piasevoli, author of MDX with Microsoft SQL Server 2008 R2 Analysis Services Cookbook, we start by explaining what MDX queries are made of, followed by the terms and concepts specific to the execution of MDX queries. The middle part of the article covers the most important things related to dimension design, cube design, and MDX script. Next, we explain terms related to query optimization and finally finish the article with types of queries that can be used with SQL Server Analysis Services.
Read Terms and Concepts Related to MDX in fullAutoscaling with the Windows Azure Service Management REST API
One of the attractions of cloud computing is the financial saving gained through the elastic provision of compute services, that is, the ability to scale up and down the number of instances of a hosted service.
In this article by Neil Mackenzie, author of Microsoft Windows Azure Development Cookbook, we will see how the Windows Azure Service Management REST API can be used to autoscale a hosted service, so that it can handle the current and predicted load depending on the day of the week. By autoscale we mean the ability of a hosted service to scale itself elastically by modifying automatically the number of running instances.
Read Autoscaling with the Windows Azure Service Management REST API in fullUsing the Windows Azure Platform PowerShell Cmdlets
The Windows Azure Platform PowerShell cmdlets use the Windows Azure Service Management REST API to expose service management operations as PowerShell cmdlets. The cmdlets provide a convenient way to manage hosted services, including retrieving the properties of current deployments and uploading new and upgraded deployments.
In this article by Neil Mackenzie, author of Microsoft Windows Azure Development Cookbook, we will learn how to use the Windows Azure Platform PowerShell cmdlets to invoke various service operations in the Windows Azure Service Management REST API.
Read Using the Windows Azure Platform PowerShell Cmdlets in fullAndroid 3.0 Application Development: Multimedia Management
As the computing power of mobile devices has increased, so has their ability to play and record a variety of media such as audio and video. Android provides some useful tools for managing multimedia.
In this article by Kyle Merrifield Mew, author of Android 3.0 Application Development Cookbook, we will cover the following recipes:
- Playing an audio file from within an application
- Playing back video from external memory
- Playing multiple sounds with a SoundPool
Managing Azure Hosted Services with the Service Management API
This article by Neil Mackenzie, author of Microsoft Windows Azure Development Cookbook, shows how to use the Windows Azure Service Management REST API to manage a Windows Azure hosted service. It shows how to create and upgrade deployments of a hosted service, including retrieval of the properties of a hosted service.
In this article, we will cover:
- Creating a Windows Azure hosted service
- Deploying an application into a hosted service
- Upgrading an application deployed to a hosted service
- Retrieving the properties of a hosted service
jQuery UI Themes: States, Cues, Overlays and Shadows
In the previous article by Adam Boduch, author of jQuery UI Themes Beginner's Guide, we took a look at the ThemeRoller application. In this article, we shall take a look at:
- Types of widget state styles
- Cue and its types
- Overlays and shadows
How to Perform Iteration on Sets in MDX
In this article by Tomislav Piasevoli, author of MDX with Microsoft SQL Server 2008 R2 Analysis Services Cookbook, we will take a look at some recipes on how to perform iteration. They deal with those cases when there's no other way but to iterate. However, some of the recipes also point out which calculation patterns we must recognize and thereby give up on using classic naïve iteration and use a better approach.
We will cover:
- Iterating on a set in order to reduce it
- Iterating on a set in order to create a new one
- Iterating on a set using recursion
Performing Common MDX-related Tasks
This article by Tomislav Piasevoli, author of MDX with Microsoft SQL Server 2008 R2 Analysis Services Cookbook, discusses the common MDX tasks and one or more ways to solve them or deal with them appropriately. We'll cover basic principles and approaches such as how to skip an axis and prevent common errors, how to set the default member of a hierarchy, and how to format cell foreground and background colors based on the value in cells.
Specifically, we will cover:
- Skipping axis
- Handling division by zero errors
- Setting special format for negative, zero, and null values
- Applying conditional formatting on calculations
- Setting default member of a hierarchy in MDX script
Getting Started with NetBeans
NetBeans is an Integrated Development Environment (IDE) and platform. Although initially the NetBeans IDE could only be used to develop Java applications, as of version 6 NetBeans supports several programming languages, either by built-in support or by installing additional plugins. Programing languages natively supported by NetBeans include Java, JavaFX, C, C++ and PHP. Groovy, Scala, Ruby and others are supported via additional plugins.
In this article by David R. Heffelfinger, author of Java EE 6 Development with NetBeans 7, we will cover how to get started with NetBeans; topics covered in this article include:
- Introduction
- Obtaining NetBeans
- Installing NetBeans
- Starting NetBeans for the first time
- Configuring NetBeans for Java EE development
jQuery UI Themes: Using the ThemeRoller
This article by Adam Boduch, author of jQuery UI Themes Beginner's Guide, is all about the ThemeRoller application. This is an indispensable tool for customizing user interfaces. In this article, we shall:
- Get familiar with ThemeRoller
- Browse the theme gallery
- Explore theme settings
- Edit existing themes
- Download a theme
So let's get rolling.
Read jQuery UI Themes: Using the ThemeRoller in full

