Xin chào, tôi rất mới sử dụng OpenGL.Kết cấu lặp lại trong OpenGL
Nhiệm vụ của tôi là triển khai các bàn chải GDI trong OpenGL để vẽ trên MAC OS X. Vì vậy, tôi đã chuyển sang hoạ tiết trong OpenGL để vẽ mẫu và sau đó điều này cần được ánh xạ để vẽ các nguyên thủy như một đa giác (hình chữ nhật trường hợp tại điểm). Tôi đang tạo ra một kết cấu 8x8 texels và sau đó ánh xạ nó trên một đa giác với các tọa độ dưới đây trên một cửa sổ 500x500 pixel.
glVertex3f (0,35, 0,35, 0,0);
glVertex3f (0,35, 0,65, 0,0);
glVertex3f (0,65, 0,65, 0,0);
glVertex3f (0,65, 0,35, 0,0);
Tôi kể từ khi tôi cần hiệu ứng cọ vẽ mẫu phải được lặp lại dọc theo hình chữ nhật. Hình chữ nhật/vuông là 0,3 x 0,3 và toàn bộ cửa sổ là 500 x 500 sau đó về mặt pixel đa giác là 150 x 150.
do đó lặp đi lặp lại yêu cầu do đó 150/8
tôi đặt kết cấu phối như sau:
glTexCoord2f(0.0, 0.0); glVertex3f(0.35, 0.35, 0.0);
glTexCoord2f(0.0, 150/8); glVertex3f(0.35, 0.65, 0.0);
glTexCoord2f(150/8, 150/8); glVertex3f(0.65, 0.65, 0.0);
glTexCoord2f(150/8, 0.0); glVertex3f(0.65, 0.35, 0.0);
tôi gặp một vấn đề mà các ấp dọc (một Texel minh bạch các màu khác) mẫu tôi đã tạo ra như là một kết cấu không được thích hợp ánh xạ theo nghĩa là một số dòng dọc đang mở rộng hơn những người khác (một loại vấn đề bí danh). Là nó như thế này mà tôi phải thiết lập các tọa độ kết cấu trong khi lập bản đồ?
Thanks cho bất kỳ trả lời
al
Làm thế nào để anh ấy không xử lý các texcoords chính xác? anh ta làm chính xác những gì bạn đề nghị? Và các cuộc gọi TexCoord đến _before_ cuộc gọi Vertex. – Bahbar
Anh ấy đang sử dụng 150/8 thay vì 8. Tốt về lệnh gọi mặc dù - Tôi đã không sử dụng chế độ ngay lập tức trong nhiều năm! – Pike65
cảm ơn Bahbar Tôi vừa mới nhận ra vấn đề là gì và sẽ đăng giải pháp. Vâng, đó là vấn đề! Dù sao cũng cảm ơn – user461426