3D Programming: Real-time 3D Rendering with DirectX and HLSL

Source: Internet
Author: User
Tags require

Introduced

Graphic programming is the magic behind video games, movies and scientific simulation simulations. Every explosion, particle, and glare you see on a computer screen is handled using a video card. In addition, every pixel you see is achieved through GPU rendering and graphic programmer software, because modern operating systems use GPU rendering. This is a broad topic, but it has always been a minority area. Even experienced software developers often think of rendering as a sophisticated art, full of complex mathematical tools and esoteric tools. In addition, the rapid development of modern graphics makes graphic programming a continuous goal, and it becomes more difficult to establish a starting point. This is the purpose of this book. Through this book, you will learn the basics of real-time 3D rendering. In fact, the content is presented in a straightforward, practical way, but does not hide more advanced topics. This book not only describes the drawing of simple objects, but also introduces the intermediate and advanced content in modern rendering. I sincerely hope that the contents of this book will bring you understandable, practical, the latest modern graphics technology.

Target Audience

This book is for experienced software engineers for the first time in contact with graphic programming. It often uses the jargon of the video game industry, but you don't need to be a game developer to read this book. In fact, the theme of modern rendering is far beyond the domain of video games, and it is becoming more and more common in various software-related fields. No matter what field of software development you are in, as long as you feel the modern rendering, this book is right for you. The contents of this book also help developers who are already engaged in graphic programming but are unfamiliar with DirectX, or familiar with the old version of Diretx. This book contains Diretx, as well as significant updates from diretx over the past few years. This book also applies to students, enthusiasts, and artists who are interested in real-time rendering. If you haven't learned any programming, not just graphic programming, this book may not be what you want to read. In particular, the third part, "Rendering with Dirextx", wrote a C + + language rendering engine, need to be familiar with the C + + language.

Why did you write this book?

There are already some books on graphic programming on the market. However, most books cover only one area: either shader programming or just rendering APIs (such as DirectX or OpenGL). The mention of other topics, like the flip side of a coin, is often rarely mentioned, or only one or two chapters. Modern rendering cannot be separated from shaders, but no graphical application shaders can be run. Few books combine these two themes together into a comprehensive form, and there are no books that introduce both intermediate and advanced topics. The problem with most books is that either the content is too simple for beginners, or it is too advanced for even very experienced software architects to understand. Again, you'll find a lot of books devoted to game or engine programming. These books typically contain graphics programming or methods for building 3D models and textures. With so much content, these books lack the knowledge to render. The methods I mentioned are effective, and you can find a lot of good books in the market. But I find that these books are not comprehensive, focused on CPU and GPU rendering, which is what experienced developers think of a deeper understanding of graphic programming needed. This book will fill the vacancy.

How the book is organized

The book is divided into four parts: the first part, "an Introduction to 3D Rendering", mainly introduces the basis of graphic programming. Includes a history of updating DirectX to version 11.1 (which is also the version used in this book) and learning the Direct3D graphics pipeline. The second chapter describes the basics of 3D math and uses the Directxmath API. If you are already familiar with linear algebra and 3D math, you can pass the second chapter. However, I strongly recommend that you read the Directxmath (Microsoft's latest graphics-related math library and provide the SIMD acceleration) section. The first part describes an end to the best tool for writing and debugging shaders and graphics applications.

Preliminary knowledge

Reading this book does not require you to be a game or graphic developer, nor do you need to be proficient in 3D math. Simply require you to be interested in graphics programming and familiar with the C + + programming language. If you are an experienced programmer but use a different programming language, you may be able to read the third and fourth parts smoothly, but you will not be able to discuss C + + syntax together. In addition, all sample code provides Microsoft OS support and is packaged as a VS2015 project (the original book is VS2012 or VS2013). These examples require that the graphics card support at least shader Model 4. Some examples (especially the display Compute shaders and tessellation) require support for shader Model 5.

Secondary web site

http://www.varcholik.org/wpress/contains all the sample code and Errata, along with a forum for questions and discussions about this book.

This column more highlights: http://www.bianceng.cnhttp://www.bianceng.cn/Programming/extra/

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.