Shading and classification are among the most powerful and important techniques used in volume rendering. Unfortunately, for hardware accelerated volume rendering based on OpenGL, direct classification was previously only supported on SGI platforms and shading could only be approximated inaccurately, resulting in artifacts mostly visible in darkening. In this paper, we present a novel approach for accurate shading of complex lighting models using multi-texturing, dependent textures (e.g. cube maps), and register combiners. Additionally, we present how different material properties can be integrated as a per voxel property to allow for more realistic image synthesis. Furthermore, we present a new technique circumventing the shading artifacts of previous approaches by pre-integrating an interpolation weight. Finally, we discuss how texture compression can be integrated to reduce the memory bandwidth required for relatively large volumes.