2011-11-07 78 views
8

Tôi đang cố gắng "lấp" một bề mặt của hình cầu mà tôi đã vẽ bằng thuật toán này tại đây: http://paulbourke.net/miscellaneous/sphere_cylinder/, phương pháp đầu tiên. Tôi biết rằng GL_QUADS không còn được sử dụng trong OpenGL 3+ nữa. SO tôi đã sử dụng GL_TRIANGLE_FAN. Đó có phải là điều tương tự? Vấn đề ở đây là khía cạnh hình cầu của tôi là hình vuông. Vì vậy, nếu tôi sử dụng GL_TRIANGLE sau đó tôi nhận được một "điền" lạ, không phải tất cả các bề mặt được bảo hiểm. Tôi đang làm điều đó một cách sai lầm? Làm thế nào để GL_TRIANGLE_FAN hoạt động chính xác?GL_TRIANGLE FAN Giải thích

+0

hit đầu tiên trên google nên giải thích điều đó cho bạn http://www.naturewizard.com/tutorial0104.html – stefan

+0

là đối với các phiên bản mới của OpenGL? –

+0

Triangle FAN là một nguyên thủy cơ bản có cùng khái niệm trong tất cả các phiên bản OpenGL và cũng có Direct3D (XNA). – stefan

Trả lời

48

như thế nào GL_TRIANGLE_FAN hoạt động chính xác?

Đỉnh đầu tiên của quạt tam giác hoạt động như một trung tâm. Các đỉnh sau nối với đỉnh không bắt đầu trước đó và hub.

enter image description here

1

Có thể bạn cần một dải tam giác thay vì quạt.

Xem hình trong liên kết này để thấy sự khác biệt: http://www.vrarchitect.net/anu/cg/surfaceModeling/polygonMesh.en.html

+2

Tôi nghi ngờ rằng một dải tam giác sẽ giúp anh ta tessellate một quả cầu trong một cuộc gọi vẽ. Và đối với một quad một fan hâm mộ tam giác hoạt động cũng như một dải tam giác. –

+0

Bạn có thể sử dụng dải tam giác, nhưng bạn cần phải sao chép các đỉnh ở cuối dải để chuyển sang dải tiếp theo. Các đỉnh được nhân đôi tạo ra các tam giác rỗng, mà OpenGL bỏ qua. Tuy nhiên, việc sử dụng hình tam giác thẳng lên chắc chắn đơn giản hơn. – prewett