The Book of Shaders

  • Một tính năng quan trọng khác (học từ ngôn ngữ C) ở trong ví dụ này là sự xuất hiện của các macro, chúng sẽ được xử lý ngay trước khi code được biên dịch. Bằng cách sử dụng macro, ta có thể #define các biến toàn cục và một vài thao tác điều kiện cơ bản (với #ifdef#endif). Tất cả các lệnh macro đều được bắt đầu bằng ký hiệu hashtag (#). Ngay trước khi biên dịch, tất cả các lệnh điều kiện như #ifdef (nếu có macro) và #ifndef (nếu không có macro) sẽ được kiểm tra. Ở ví dụ “Hello World!” này, ta chỉ kiểm tra xem macro GL_ES có tồn tại không mà thôi. Macro này có tồn tại trên hầu hết các thiết bị điện thoại di động và trình duyệt, tức là dòng lệnh số 2 sẽ chỉ có tác dụng trên các nền tảng này.