2012-06-19 24 views
5

Tôi đang viết một thư viện Javascript đơn giản, sử dụng một số mã WebGL. Tôi muốn bao gồm các nguồn đổ bóng trong tệp .js, bởi vì các lựa chọn thay thế của tôi là bao gồm chúng dưới dạng các thẻ tập lệnh trong mỗi trang hoặc để có chúng dưới dạng các tệp riêng biệt được tải dưới dạng AJAX. Cả hai tùy chọn này đều đặc biệt là mô-đun. Tuy nhiên, do thiếu các chuỗi nhiều dòng trong javascript, tôi không có bất kỳ ý tưởng hay nào về cách mã hóa mã WebGL. Có cách tiếp cận nào tôi không nghĩ đến?Mã đổ bóng webgl trong dòng trực tuyến trong javascript

Trả lời

1

tôi đã kết thúc hack này: http://github.com/noteed/language-glsl/ thành một nén mã, bằng cách thay thế tất cả các trường của vcat với hsep trong Language.GLSL.Pretty. Tôi nhận được một phiên bản một dòng mã đổ bóng mà tôi có trong một tệp, sau đó tôi có thể dán vào một chuỗi. Tôi đã hy vọng tìm thấy một giải pháp tương tự đã được thực hiện khi tôi đăng này.

3

Sử dụng một chuỗi trên mỗi dòng và sau đó ghép chúng lại với nhau, ví dụ:

var shader = [ 
    "// line1 ", 
    "// line2 ", 
].join('\n'); 

P.S. Các vấn đề chung đã được thảo luận ở đây trước, xem Creating multiline strings in JavaScript

+0

+1, Đây là cách tôi thực hiện tất cả các trình đổ bóng nội tuyến của mình. Cách tốt nhất tôi đã tìm thấy được nêu ra. – Toji

0

Đây là cách NetBeans xử lý các trường hợp:

var shader = 
"firstLine\n\ 
secondLine\n\ 
thirdLine"; 

tôi thấy cách này hiệu quả hơn để chỉnh sửa vì phải tạo một mục mảng cho mỗi dòng.

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