FAQ

  • What is Scratch-a-Pixel ?

    Scratch-a-Pixel is the first resource on web to teach 2D and 3D computer graphics programming techniques from the ground up. We have paid a great deal of attention to explain all the mathematical and technical terms with the simplest possible words to reach the largest possible audience.

    We also believe in teaching by example. Many people understand the theory much better (especially when it relies on abstract mathematical concepts) when they are provided with a practical example. Techniques discussed in lessons are also implemented in small self-contained C++ programs.

    We have created a set of lessons in the basic section that we recommend you to read in chronological order, especially if you are new to this field. They have been designed to let you gradually learn about the most common techniques used in computer graphics. It is recommended that you read this series of lessons before you jump to some more advanced topics.

  • What can I find on the website ?

    The content of this website is organised in lessons.

    In the basic section you will learn how to write a 3D renderer step by step. Each lesson will teach you the maths and the algorithms used to generate photorealistic CG images, and how to implement these algorithm in C++ (each lesson comes with the source code of a fully functional program). We recommend you to read these lessons in chronological order.

    The advanced 3D section is similar but contains lessons there are dedicated to more advanced topics. They can be studied separately and implemented individually in your basic 3D renderer.

    Finally there is a 2D section that is dedicated to techniques used to create and process digital images.

  • What can I find in a lesson ?

    Each lesson is usually dedicated to one particular technique or one particular process of the graphics pipeline. We put a great deal of effort to insure consistency in the quality and the level of information that is provided in all the lessons. All lessons are written following the same guideline: mathematics and technical terms are explained with simple words. We use images wherever necessary to illustrate the text. All lessons are provided with the source code (in C++) of a functional application that will help you to learn CG programming techniques from a practical point of view.

  • How good in math do I need to be to read a lesson ?

    A college level is enough. You need to be familiar with trigonometry, and the basic concepts of linear algebra and calculus.

  • How did the project start ? And who are you ?

    We use CG to create visual special effects for films and video games and we have been in this industry for more than 15 years. We created Scratch a pixel in 2006, for centralising, saving, updating and retrieving information about a wild variety of CG programming techniques.

    Toy Story, Avatar, Lord of the Rings and Harry Potter are some of the films we worked on.

  • What about programming on the GPU ?
  • Can I send you questions ?

    We invite our readers to send questions and feedbacks (especially if you want to report a bug in the code or a mistake in the lessons) but we do not guarantee individual answers. If something is confusing to you, please do not hesitate to send us your question (check the contact form).