2011-10-09 32 views
8

enter image description hereLàm thế nào để vẽ "phát sáng" dòng trong OpenGL ES

Ông có thể chia sẻ một số mã (ngôn ngữ nào) về cách vẽ đường kết cấu (mà có thể nhẵn hoặc có phát sáng như hiệu lực, dòng màu xanh, bốn điểm) bao gồm nhiều điểm giống như trên hình ảnh đính kèm sử dụng OpenGL ES 1.0.

Điều tôi đang cố gắng tạo họa tiết GL_LINE_STRIP với kết cấu 16x16 hoặc 1x16 pixel nhưng không thành công.

+1

Kích thước của kết cấu của bạn không làm tăng kích thước của đường dây một cách kỳ diệu. Bạn có ý tưởng sai về cách hoạt động của họa tiết. –

+0

OK, hơn làm thế nào để đạt được hiệu ứng này có một mảng 2d điểm và kết cấu (hoặc bất kỳ thứ gì cần thiết để vẽ đường như vậy với OpenGL ES) – michael

+1

Một cách có thể thực hiện là có thể sử dụng trình đổ bóng pixel. Vẽ đường của bạn như bình thường và sau đó sử dụng 3 lần làm mờ hộp. – Rekin

Trả lời

5

Trong ES 1.0, bạn có thể sử dụng kết xuất hiển thị một cách sáng tạo để đạt được hiệu quả bạn muốn, nhưng có thể tốn kém về mặt tỷ lệ lấp đầy. Gamasutra có an (old) article về cách phát sáng trong trò chơi Tron 2.0 - bạn sẽ muốn đặc biệt chú ý đến các bình luận DirectX 7.0 kể từ đó, giống như ES 1.0, một đường ống cố định. Trong trường hợp của bạn, bạn có thể muốn chỉ hiển thị hình ảnh Gaussian chứ không phải trộn nó với một bản gốc từ ánh sáng là tất cả các bạn đang quan tâm đến

tóm tắt của tôi về bài viết là:.

  • làm cho tất cả các dòng đến một kết cấu như bình thường, đường chân tóc chắc chắn. Gọi texture này là texture nguồn.
  • áp dụng hiệu ứng nhòe ngang theo chiều ngang bằng cách lấy kết cấu nguồn bạn vừa vẽ và vẽ nó, giả sử, năm lần so với kết cấu khác, mà tôi sẽ gọi là kết cấu mờ ngang. Vẽ một bản sao ở độ lệch x = 0 với opacity 1.0, vẽ thêm hai bản sao - một tại x = +1 và một ở x = -1 - với độ mờ đục 0,63 và hai bản sao cuối cùng - một tại x = +2 và một tại x = -2 với độ mờ là 0,17. Sử dụng pha trộn phụ gia.
  • áp dụng hiệu ứng nhòe dọc theo chiều dọc bằng cách lấy kết cấu mờ ngang và thực hiện các bước tương tự nhưng với độ lệch y thay vì x bù trừ.

Số độ mờ này được lấy từ hạt nhân Gauss 2d trên this page. Chơi xung quanh với họ để ảnh hưởng đến mùa thu ra phía bên ngoài của dòng của bạn.

Lưu ý các chi phí bổ sung liên quan ở đây: bạn có thể thêm mười màn hình kết cấu toàn màn hình cộng với một số trao đổi khung hình. Bạn có thể có thể nhận được đi với ít rút ra bằng cách sử dụng multitexturing. Một cách tiếp cận đổ bóng có thể sẽ thực hiện các bước ngang và dọc trong một lần truyền.

Các vấn đề liên quan