Đo lường & Tin học<br />
<br />
MỘT PHƯƠNG PHÁP HIỂN THỊ ĐẶC TRƯNG TRÊN ĐỐI TƯỢNG<br />
ẢO BA CHIỀU DỰA TRÊN CÔNG NGHỆ LẬP TRÌNH GPU<br />
Lê Anh1*, Đặng Hoàng Minh2, Phạm Văn Lai2<br />
Tóm tắt: Trong bài báo này, qua khai thác ưu điểm của công nghệ lập trình GPU<br />
và kỹ thuật phủ ảnh, chúng tôi đề xuất một phương pháp hiệu quả, thể hiện được<br />
một số đặc trưng cơ bản trên các đối tượng ảo ba chiều. Phương pháp sử dụng kỹ<br />
thuật phủ ảnh và tính khả trình của card đồ họa GPU. Kết quả nghiên cứu có thể<br />
được ứng dụng hiệu quả trong mô phỏng các loại vũ khí, khí tài phục vụ huấn luyện<br />
trong quân đội.<br />
Từ khóa: Mô phỏng; Texture; Ảnh phủ; GPU.<br />
<br />
1. ĐẶT VẤN ĐỀ<br />
Trong thực tế, các đối tượng được nhận biết qua hình dạng hoặc một số đặc<br />
trưng bên ngoài của đối tượng. Các đặc trưng khá phong phú, đa dạng được thể<br />
hiện qua màu sắc, hình ảnh, ký tự, ký hiệu, …, các đặc trưng này chứa đựng nội<br />
dung nhất định thể hiện đặc điểm của đối tượng. Tuy nhiên, các đặc trưng trên đối<br />
tượng có thể thay đổi liên tục theo thời gian, gây ra những khó khăn khi mô phỏng<br />
trên máy tính. Trong môi trường ảo ba chiều, bài toán đặt ra là phải mô phỏng<br />
được đầy đủ, chính xác các đặc trưng trên đối tượng nhưng vẫn phải bảo đảm được<br />
tính thời gian thực của một phần mềm mô phỏng.<br />
Một đối tượng được nhận biết qua các đặc trưng như hình dạng, màu sắc, ký tự,<br />
ký hiệu, … các đặc trưng này chứa đựng những nội dung nhất định. Ví dụ, đồng hồ<br />
có đặc trưng là các kim chỉ và các con số thể hiện thông số đo được bởi đồng hồ<br />
đó; màn hình radar có đặc trưng là các đường tròn đồng tâm và các ký hiệu, chúng<br />
biểu diễn các đối tượng đang nằm trong vùng quét của radar.<br />
Trong không gian ảo ba chiều, phương pháp thường được sử dụng để mô<br />
phỏng đối tượng và các đặc trưng là mô hình hóa 3D các đặc trưng của đối tượng<br />
và áp dụng các phép biến hình cơ bản [1], [3], [4]. Ưu điểm của phương pháp trên<br />
là cài đặt đơn giản, nhưng cần sự tỉ mỉ trong bước dựng mô hình ba chiều các<br />
thành phần đặc trưng. Tuy nhiên, đối với các đối tượng có nhiều thành phần đặc<br />
trưng thì việc xây dựng dữ liệu mô hình tốn nhiều thời gian hơn, đồng thời số<br />
lượng mặt lưới của mô hình cũng tăng lên, từ đó dữ liệu mô hình cần lưu trữ và xử<br />
lý sẽ lớn hơn. Bên cạnh đó, phương pháp trên khó có thể áp dụng trong một số<br />
trường hợp. Ví dụ, màn hình đa năng ở chế độ vô tuyến và chỉ thị tình thế chiến<br />
thuật trên máy bay Su30MK2 có đặc trưng là nhiều hình ảnh, ký tự, ký hiệu đặc<br />
biệt…, các đặc trưng này thay đổi liên tục theo thời gian và khó mô phỏng được<br />
bằng phương pháp mô hình hóa.<br />
Để giải quyết vấn đề trên, chúng tôi đề xuất một phương pháp hiển thị đặc<br />
trưng trên đối tượng ảo ba chiều sử dụng kỹ thuật phủ ảnh (texture mapping) [1],<br />
[2], [5] và tính khả trình trên card đồ họa GPU [8], [9] để gia tăng tốc độ xử lý và<br />
hiển thị hình ảnh. Cách tiếp cận này mô phỏng được các đặc trưng thay đổi trên đối<br />
tượng mà vẫn đảm bảo được tốc độ hiển thị hình ảnh ba chiều theo thời gian thực.<br />
Các phần tiếp theo của bài báo bao gồm các nội dung sau: cơ sở lý thuyết, phương<br />
pháp được đề xuất, kết quả thực nghiệm và kết luận.<br />
<br />
<br />
<br />
218 L. Anh, Đ. H. Minh, P. V. Lai, “Một phương pháp hiển thị đặc trưng … lập trình GPU.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
2. CƠ SỞ LÝ THUYẾT<br />
Trong đồ họa máy tính, một đối tượng được dựng hình ba chiều phải trải qua<br />
hai giai đoạn. Giai đoạn một là mô hình hóa đối tượng, đối tượng được khảo sát,<br />
chụp hình, thu thập thông tin và dựng dữ liệu mô hình và dữ liệu hoạt cảnh qua các<br />
phần mềm như 3DSMax, Blender, C4D…Giai đoạn hai là phủ ảnh vật liệu lên đối<br />
tượng sử dụng kỹ thuật phủ ảnh (texture mapping) [1][2]. Trong hai giai đoạn trên,<br />
khái niệm ảnh phủ và vật liệu đóng vai trò rất quan trọng.<br />
2.1. Ảnh phủ<br />
Khái niệm texture được định nghĩa là một vùng nhớ trên bộ nhớ hình ảnh<br />
(video memory) của card đồ họa (Hình 1), và được sử dụng rất nhiều trong các chu<br />
trình xử lý đồ họa. Dữ liệu texture thuộc một trong hai dạng: dữ liệu được load từ<br />
file ảnh, hoặc dữ liệu được sao chép từ bộ đệm tính toán (render target) của card đồ<br />
họa. Bộ đệm tính toán là một bộ đệm mà ở đó các tính toán điểm ảnh được thực<br />
hiện. Kết quả tính toán các điểm ảnh nằm trên bộ đệm tính toán sau đó có thể được<br />
sử dụng như một texture. Đặc điểm này cho phép các kết quả tính toán ở trên bộ<br />
đệm tính toán có thể được sử dụng cho những lần tính toán tiếp theo.<br />
Khái niệm ảnh phủ được sử dụng trong mô hình hóa đối tượng cũng được gọi<br />
là texture, đây là trường hợp đặc biệt của khái niệm texture. Các ảnh phủ được hiểu<br />
là một thành phần của vật liệu được phủ trên mô hình đối tượng ảo ba chiều.<br />
<br />
<br />
<br />
<br />
Hình 1. Texture.<br />
2.2. Vật liệu<br />
Thực tế, các đối tượng có thể được làm từ nhiều loại vật liệu khác nhau, từ các<br />
vật liệu thô như gỗ, đất, sỏi, đá... đến các vật liệu được con người sản xuất ra như<br />
vải, kim loại, thủy tinh, cao su, xi măng... Từ nguồn nguyên vật liệu đầu vào, các<br />
đối tượng được tạo hình và có màu sắc là màu của vật liệu đã tạo nên chúng. Sau<br />
đó, các đối tượng có thể được trang trí thêm bằng các hình họa tiết. Thực tế thì vật<br />
liệu được phân thành hai loại là vật liệu màu (màu của vật liệu tạo hình lên đối<br />
tượng) và vật liệu họa tiết (có các hình họa tiết được vẽ trên đối tượng).<br />
Trong đồ họa máy tính, vật liệu gồm hai loại là vật liệu màu và vật liệu ảnh<br />
(hay vật liệu trang trí). Trong đó, vật liệu ảnh chứa các hình ảnh bên ngoài của đối<br />
tượng, và các đặc trưng bên ngoài của đối tượng sẽ được thể hiện chủ yếu qua các<br />
hình ảnh này. Trong quá trình xây dựng mô hình ba chiều của một đối tượng, ban<br />
đầu, đối tượng được dựng dưới dạng mô hình mặt lưới ba chiều được phủ vật liệu<br />
màu nhất định, đây được gọi là mô hình đồng màu. Sau đó, mô hình đồng màu sẽ<br />
được phủ vật liệu ảnh, mô hình nhận được sẽ thể hiện được đầy đủ hình dáng và<br />
các đặc điểm bên ngoài của đối tượng. Do đó, vật liệu ảnh đã thể hiện được vai trò<br />
rất quan trọng trong quá trình xây dựng mô hình ba chiều của một đối tượng.<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san TĐH, 04 - 2019 219<br />
Đo lường & Tin học<br />
<br />
2.3. Chu trình hiển thị ảnh phủ trên đối tượng<br />
Một đối tượng được mô phỏng trong không gian ba chiều cần có file mô hình<br />
ba chiều và file ảnh phủ. Đầu tiên, file mô hình và file ảnh phủ được tải lên bộ nhớ<br />
chính bởi chương trình trên CPU. CPU phụ trách việc sử dụng bộ nhớ, điều khiển<br />
dòng dữ liệu giữa CPU và GPU. Các lệnh yêu cầu thực hiện tính toán trên GPU<br />
được truyền từ CPU thông qua bộ đệm các lệnh (command buffer). Khi chương<br />
trình trên CPU gọi các lệnh vẽ đối tượng để thực thi trên GPU thì dữ liệu các đỉnh,<br />
dữ liệu ảnh phủ được chuyển vào bộ nhớ GPU, đồng thời chu trình xử lý đồ họa<br />
trên GPU bắt đầu được thực hiện.<br />
<br />
<br />
<br />
<br />
Hình 2. Chu trình hiển thị ảnh phủ trên đối tượng.<br />
Trên bộ nhớ GPU, dữ liệu các đỉnh của mô hình ba chiều của đối tượng được<br />
lưu trong các bộ đệm đỉnh và bộ đệm chỉ số đỉnh, còn dữ liệu ảnh phủ của đối<br />
tượng được lưu trên các texture. Bộ đệm đỉnh, bộ đệm chỉ số và texture sẽ là dữ<br />
liệu đầu vào của các bước trong chu trình xử lý đồ họa trên GPU [6][7].<br />
<br />
<br />
<br />
<br />
Hình 3. Các bước xử lý đồ họa trên GPU.<br />
Trong chu trình xử lý đồ họa trên GPU, đầu vào của bộ đệm đỉnh và bộ đệm<br />
chỉ số là tập hợp các đỉnh nằm trong một cấu trúc hình học cơ bản của mô hình ba<br />
chiều của đối tượng. Tại bước xử lý đỉnh, các phép xử lý trên từng đỉnh sẽ được<br />
thực hiện, (ví dụ, phép biến đổi tọa độ ba chiều của đỉnh). Tiếp theo, các phép biến<br />
đổi hình học cơ bản sẽ được thực hiện tại bước xử lý hình học. Sau đó, tại bước<br />
phân mảnh, điểm ảnh nào trên màn hình thuộc vào hình chiếu của đối tượng hình<br />
học đang được xử lý sẽ được xác định, những điểm ảnh được xác định sẽ được xử<br />
lý ở bước tiếp theo. Kế tiếp, dựa trên thông tin về tọa độ ảnh phủ của điểm, mỗi<br />
điểm sẽ được cập nhật màu từ ảnh phủ texture tại bước xử lý điểm. Cuối cùng, tại<br />
bước hợp nhất, giá trị màu của điểm đang xử lý sẽ được kết hợp với giá trị màu của<br />
điểm ảnh đã lưu trên bộ đệm màu (nếu có) sẽ xuất ra giá trị màu để hiển thị trên<br />
màn hình.<br />
3. PHƯƠNG PHÁP ĐỀ XUẤT<br />
Một trong những điểm đặc biệt trong chu trình hiển thị ảnh phủ trên đối tượng<br />
đó là: tại bước xử lý điểm, kết quả tính toán điểm có thể được lưu vào trong bộ nhớ<br />
GPU để xử lý tiếp. Trong phương pháp được đề xuất, bộ đệm tính toán (render<br />
<br />
<br />
220 L. Anh, Đ. H. Minh, P. V. Lai, “Một phương pháp hiển thị đặc trưng … lập trình GPU.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
target) sẽ được sử dụng để lưu trữ các đặc trưng của đối tượng thông qua các ảnh<br />
phủ. Sau đó, kết quả trên bộ đệm tính toán được lưu trữ qua các lần tính toán sẽ<br />
được hiển thị lên trên đối tượng ảo ba chiều. Các bước xử lý đều được thực hiện<br />
trên card đồ họa sử dụng các đoạn code shader. Cách tiếp cận sử dụng bộ đệm tính<br />
toán trên bộ nhớ GPU đồng thời khai thác khả năng xử lý song song của GPU giảm<br />
được các tính toán trên CPU và nâng cao tốc độ hiển thị hình ảnh của chương trình.<br />
3.1. Phân loại các ảnh đặc trưng của đối tượng<br />
Đầu tiên, khi khảo sát để xây dựng mô hình đối tượng, các đặc trưng của một<br />
đối tượng phải được xác định và được phân lớp rõ ràng, chúng phải được biểu diễn<br />
dưới dạng các file ảnh, được gọi là các file ảnh đặc trưng. Do đó, bên cạnh dữ liệu<br />
file mô hình thì dữ liệu đầu vào của chương trình sẽ là các file ảnh đặc trưng.<br />
3.2. Khởi tạo bộ đệm tính toán<br />
Trong bước này, một bộ đệm tính toán cũng được khởi tạo trên không gian bộ<br />
nhớ GPU, đồng thời, các file ảnh đặc trưng được tải lên bộ nhớ chính bởi chương<br />
trình trên CPU. Kích thước bộ đệm tính toán được thiết lập là lũy thừa của 2 (ví dụ,<br />
64x64, 128x128, 256x256) để các tính toán đồ họa được tối ưu, đặc biệt là các tính<br />
toán liên quan đến texture.<br />
3.3. Vẽ các ảnh đặc trưng lên bộ đệm tính toán<br />
Tại bước này, khi chương trình trên CPU gọi lệnh vẽ lên bộ đệm tính toán thì<br />
các dữ liệu các ảnh đặc trưng sẽ được chuyển sang bộ nhớ GPU. Trên bộ nhớ<br />
GPU, dữ liệu các ảnh đặc trưng sẽ tương ứng là các vùng nhớ texture (được ký<br />
hiệu là Texture1, ..., TextureN), chúng là đầu vào của chương trình xử lý điểm. Tại<br />
bước xử lý điểm, sử dụng đoạn code pixel shader, giá trị màu của các điểm ảnh sẽ<br />
được cập nhật trên bộ đệm tính toán thay vì bộ đệm màn hình như chu trình xử lý<br />
đồ họa thông thường. Đồng thời, căn cứ vào sự thay đổi về nội dung thông tin trên<br />
đối tượng tại từng thời điểm, các phép biến đổi ảnh trên các texture (chứa các đặc<br />
trưng) có thể được sử dụng để mô phỏng sự thay đổi đặc trưng của đối tượng tại<br />
một thời điểm.<br />
<br />
<br />
<br />
<br />
Hình 4. Vẽ các ảnh đặc trưng lên bộ đệm tính toán.<br />
Ví dụ, hai phép biến đổi ảnh thường được sử dụng là phép xoay và phép dịch<br />
ảnh. Nếu tâm của phép xoay là tâm của ảnh phủ (tâm có tọa độ ảnh phủ là [0.5,<br />
0.5]), thì phép xoay ảnh được biểu diễn qua phép biến đổi tọa độ ảnh phủ như sau:<br />
(1)<br />
Trong đó, [u, v] và [u’, v’] là tọa độ ảnh phủ của điểm ảnh trước và sau khi<br />
thực hiện phép xoay.<br />
Phép dịch ảnh được biểu diễn qua phép biến đổi tọa độ ảnh phủ như sau:<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san TĐH, 04 - 2019 221<br />
Đo lường & Tin học<br />
<br />
(2)<br />
Trong đó, du và dv tương ứng là khoảng dịch chuyển trên trục u và trục v của<br />
ảnh trong một khoảng thời gian.<br />
Sau đó, áp dụng phép hòa trộn ảnh, các texture chứa các đặc trưng của đối<br />
tượng sẽ được kết hợp với nhau trên bộ đệm tính toán theo một thứ tự xác định để<br />
biểu diễn được các đặc trưng của đối tượng. Bộ đệm tính toán sẽ là nơi lưu trữ các<br />
giá trị màu của các texture. Sau bước xử lý này, kết quả của bộ đệm tính toán sẽ<br />
được lưu lại trên bộ nhớ GPU và được sử dụng cho bước xử lý tiếp theo.<br />
3.4. Hiển thị kết quả của bộ đệm tính toán lên đối tượng<br />
Tại bước này, chu trình hiển thị ảnh phủ trên đối tượng được áp dụng trên file<br />
mô hình đối tượng. Đầu tiên, file mô hình được tải lên bộ nhớ chính bởi chương<br />
trình trên CPU. Khi chương trình trên CPU gọi lệnh vẽ đối tượng, dữ liệu các đỉnh<br />
từ file mô hình được chuyển vào bộ nhớ GPU. Đồng thời, dữ liệu trên bộ đệm tính<br />
toán được sao chép sang một texture khác gọi là render target texture (RT texture),<br />
RT texture sẽ là đầu vào của chương trình xử lý điểm. Sau đó, áp dụng chu trình<br />
hiển thị ảnh phủ trên đối tượng với đoạn code vertex shader và pixel shader, các<br />
đặc trưng của đối tượng đã được lưu trữ trên RT texture sẽ được hiển thị trên mô<br />
hình ba chiều của đối tượng.<br />
<br />
<br />
<br />
<br />
Hình 5. Hiển thị kết quả của bộ đệm tính toán lên đối tượng.<br />
Kết luận, trong phương pháp này, quan trọng nhất là bước phân loại các ảnh<br />
đặc trưng của đối tượng vì nó quyết định nội dung thông tin được thể hiện trên mô<br />
hình ba chiều của đối tượng. Phương pháp có thể áp dụng để mô phỏng nhiều loại<br />
đối tượng khác nhau. Trong phần thực nghiệm, phương pháp được sử dụng để mô<br />
phỏng các đối tượng sau: đồng hồ chỉ thị trên máy dò bom, đồng hồ chân trời điện<br />
tử trên máy bay Su30MK2 và mô phỏng tọa độ đối tượng trên màn hình radar.<br />
4. KẾT QUẢ THỰC NGHIỆM<br />
Chương trình thực nghiệm được tiến hành trên máy tính có cấu hình như sau:<br />
CPU Intel Core i5-6400 CPU 2.70GHz, RAM 8GB, card màn hình Nvidia<br />
GeForce GTX 1060 6GB, hệ điều hành Windows 7 64 bits. Các dữ liệu ảnh và mô<br />
hình 3D được xây dựng trên phần mềm photoshop và 3DSMax, bao gồm: mô hình<br />
3D máy dò bom Foerster Ferex 4032-API, mô hình 3D đồng hồ chân trời trên máy<br />
bay Su30MK2, mô hình 3D một màn hình radar, được sử dụng trong các thực<br />
nghiệm. Các thực nghiệm được lập trình trên engine đồ họa mã nguồn mở Unreal<br />
Engine 4, môi trường Microsoft Visual Studio C++ 2015. Tốc độ xử lý và hiển thị<br />
hình ảnh nhận được xấp xỉ 60 fps, đáp ứng được tính thời gian thực trong các ứng<br />
dụng mô phỏng.<br />
<br />
<br />
222 L. Anh, Đ. H. Minh, P. V. Lai, “Một phương pháp hiển thị đặc trưng … lập trình GPU.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
4.1. Mô phỏng đồng hồ chỉ thị trên máy dò bom Foerster Ferex 4032-API<br />
Trên máy dò bom Foerster Ferex 4032-API, đồng hồ chỉ thị thể hiện sự thay<br />
đổi từ tính cục bộ khi đầu dò đi qua đối tượng được dò. Đồng hồ chỉ thị được mô<br />
phỏng bằng phương pháp đã đề xuất: đầu tiên, hai ảnh đặc trưng cho đồng hồ chỉ<br />
thị là ảnh bảng chia và ảnh kim đồng hồ cơ học (các ô vuông màu đen trắng trong<br />
ảnh kim đồng hồ cơ học là vùng ảnh trong suốt). Bảng chia được phân thành 10 độ<br />
vạch trên chia về mỗi bên bắt đầu tính từ giữa là 0; chính giữ có vạch đen là<br />
ngưỡng cho phép sai số; kim đồng hồ cơ học lệch báo hiệu có sự thay đổi từ tính<br />
cục bộ. Sau khi khởi tạo bộ đệm tính toán, để mô phỏng sự thay đổi của từ tính khi<br />
máy dò dò qua đối tượng, phép quay đã được thực hiện trên ảnh kim đồng hồ cơ<br />
học. Tại bước kế tiếp, hai ảnh đặc trưng được vẽ lên bộ đệm tính toán theo thứ tự<br />
là ảnh bảng chia và ảnh kim đồng hồ cơ học. Tại bước cuối, vertex shader và pixel<br />
shader được sử dụng để hiển thị kết quả trên bộ đệm tính toán mô phỏng đồng hồ<br />
chỉ thị lên trên mặt hộp máy trong mô hình ba chiều của máy dò.<br />
<br />
<br />
<br />
<br />
Hình 6. Mô phỏng đồng hồ chỉ thị trên máy dò bom Foerster Ferex<br />
4032-API: (a) Ảnh bảng chia, (b) Ảnh kim đồng hồ, (c) Đồng hồ chỉ thị.<br />
4.2. Mô phỏng đồng hồ chân trời điện tử trên máy bay Su30MK2<br />
<br />
<br />
<br />
<br />
Hình 7. Mô phỏng đồng hồ chân trời điện tử trên máy bay Su30MK2<br />
(a) Ảnh vạch số góc nghiêng, (b) Ảnh vạch số góc chúc, (c) Ảnh máy bay,<br />
(d) Đồng hồ chân trời, (e) Màn hình đa chức năng, (f) Hình ảnh khoang lái.<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san TĐH, 04 - 2019 223<br />
Đo lường & Tin học<br />
<br />
Đồng hồ chân trời điện tử được mô phỏng theo phương pháp đã đề xuất. Đầu<br />
tiên, ba ảnh đặc trưng được phân loại bao gồm: ảnh vạch số góc nghiêng, ảnh vạch<br />
số góc chúc, ảnh máy bay. Tiếp theo, phép dịch ảnh vạch số góc chúc được thực<br />
hiện để thể hiện góc chúc của máy bay, phép xoay ảnh ký hiệu máy bay được thực<br />
hiện để thể hiện góc nghiêng của máy bay. Kế tiếp, ba ảnh đặc trưng được vẽ lên<br />
bộ đệm tính toán theo thứ tự là ảnh vạch số góc nghiêng, ảnh vạch số góc chúc và<br />
ảnh hình máy bay (sử dụng phép hòa trộn ảnh). Tại bước cuối, vertex shader và<br />
pixel shader được sử dụng để hiển thị kết quả mô phỏng đồng hồ chân trời điện tử<br />
lên trên màn hình đa chức năng (nằm ở góc trái của khoang lái máy bay<br />
Su30MK2).<br />
4.3. Mô phỏng tọa độ đối tượng trên màn hình radar<br />
Trong phần này, màn hình radar được biểu diễn bởi hai ảnh đặc trưng là ảnh<br />
radar (gồm các đường tròn đồng tâm) và ảnh ký hiệu đối tượng đặc trưng cho các<br />
đối tượng đang nằm trong vùng quét của radar. Nếu lấy vị trí của radar là trung<br />
tâm, thì tọa độ của các đối tượng nằm trong vùng quét của radar cần được tính<br />
toán. Phép biến đổi tọa độ của một đối tượng nằm trong vùng quét của radar về<br />
không gian ảnh radar được biểu diễn dưới dạng ma trận như sau:<br />
<br />
(3)<br />
<br />
<br />
<br />
<br />
Hình 8. Phép biến đổi tọa độ của một đối tường nằm trong vùng quét<br />
của radar (a) về không gian ảnh radar (b).<br />
Trong đó, O là vị trí radar, P(PX, PY) là tọa độ của đối tượng nằm trong vùng<br />
quét của radar, O’ là gốc tọa độ của ảnh radar, P‘(P’x, P’y) là tọa độ ảnh của đối<br />
tượng nằm trong không gian ảnh radar, W và H biểu diễn vùng quét radar, w và h<br />
biểu diễn không gian ảnh.<br />
Sau khi xác định được tọa độ ảnh của đối tượng, ảnh radar và ảnh ký hiệu đối<br />
tượng được vẽ lên bộ đệm tính toán. Cuối cùng, vertex shader và pixel shader được<br />
sử dụng để hiển thị kết quả của bộ đệm tính toán mô phỏng tọa độ đối tượng lên<br />
trên màn hình radar.<br />
<br />
<br />
224 L. Anh, Đ. H. Minh, P. V. Lai, “Một phương pháp hiển thị đặc trưng … lập trình GPU.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
<br />
<br />
<br />
Hình 9. Mô phỏng tọa độ đối tượng trên màn hình radar<br />
(a) Ảnh radar, (b) Ảnh ký hiệu đối tượng, (c) Màn hình radar.<br />
<br />
5. KẾT LUẬN<br />
Các đặc trưng bên ngoài của đối tượng chứa đựng nội dung thông tin nhất định<br />
và đóng vai trò quan trọng trong việc thể hiện các đặc trưng của một đối tượng.<br />
Trong các ứng dụng mô phỏng, mô phỏng được đầy đủ, chính xác các đặc trưng<br />
trên đối tượng là một bài toán khó vì sự đa dạng về mặt nội dung thông tin của các<br />
đối tượng. Để giải quyết bài toán trên, chúng tôi đưa ra một phương pháp hiển thị<br />
các đặc trưng trên đối tượng ảo ba chiều dựa trên công nghệ lập trình trên GPU và<br />
kỹ thuật phủ ảnh, khai thác tính năng hỗ trợ lập trình trên các card đồ họa. Trong<br />
đó, hầu hết khối lượng tính toán liên quan đến các ảnh đặc trưng của đối tượng đều<br />
được thực hiện trên GPU thông qua các đoạn code shader. Cách tiếp cận này đã<br />
giảm các phép tính toán trên CPU và khai thác được khả năng xử lý song song trên<br />
GPU, từ đó nâng cao tốc độ hiển thị hình ảnh, đảm bảo được yêu cầu xử lý thời<br />
gian thực trong các ứng dụng mô phỏng.<br />
<br />
TÀI LIỆU THAM KHẢO<br />
[1]. JungHyun Han, 3D Graphics for Game Programming, CRC Press 2011, pp 25-<br />
27, pp 177-183.<br />
[2]. David Blythe, Tom McReynolds, Advanced Graphics Programming Using<br />
Open GL, chapter 14.Texture Mapping Techniques, O’Reilly, pp 269-316 .<br />
[3]. Gerald Farin , State of the art in 3D modeling. In Proceedings - 5th<br />
International Conference on Frontier of Computer Science and Technology,<br />
FCST 2010 [5577356] DOI: 10.1109/FCST.2010.114, 2010.<br />
[4]. Georgios Kordelas , Juan Diego P`erez-Moneo Agapito, Jes`us M. Vegas<br />
Hernandez , and Petros Daras, State-of-the-art Algorithms for Complete 3D<br />
Model Reconstruction, University of Valladolid, Valladolid, Spain.<br />
[5]. Wojciech Matusik, Frédo Durand, Texture Mapping & Shaders – Computer<br />
Graphics Course, MIT OpenCourseWare, http://ocw.mit.edu, Fall 2012.<br />
[6]. Ricardo Marroquim ; André Maximo, Introduction to GPU Programming with<br />
GLSL, Conference: 2009 Tutorials of the XXII Brazilian Symposium on<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san TĐH, 04 - 2019 225<br />
Đo lường & Tin học<br />
<br />
Computer Graphics and Image Processing, At Rio de Janeiro, RJ, Brazil, DOI:<br />
10.1109/SIBGRAPI-Tutorials, 2009, 9.<br />
[7]. Jason Zink, Matt Pettineo, Jack Hoxley, Practical Rendering and Computation<br />
with Direct3D 11, CRC Press 2011, pp 5-7.<br />
[8]. Nguyễn Trung Kiên, Tăng tốc bởi GPU trong mô phỏng màn hình radar,<br />
chuyên san Công nghệ thông tin và Truyền thông số - số 01 (10-2012), Học<br />
viện Kỹ thuật quân sự, 2012.<br />
[9]. F.Klose, O.Wang, J.-C.Bazin, M.Magnor, A.Sorkine-Hornung, Efficient GPU<br />
Based Sampling for Scene-Space Video Processing; Vision, Modeling, and<br />
Visualization, 2015.<br />
<br />
ABSTRACT<br />
A METHOD FOR RENDERING FEATURES ON 3D VIRTUAL OBJECTS<br />
BASED ON GPU PROCESSING TECHNOLOGY<br />
<br />
In this paper, by exploring the advantages of GPU programming and<br />
texture mapping techniques, we propose an efficient method that<br />
demonstrates some of the basic features of three-dimensional virtual<br />
objects. The texture mapping techniques and programmable shaders on<br />
graphics processors are used in the method. Research results can be<br />
applied effectively in military training by the simulation of weapons and<br />
military equipment.<br />
<br />
Keywords: Simulation; Texture; GPU.<br />
<br />
Nhận bài ngày 24 tháng 12 năm 2018<br />
Hoàn thiện ngày 08 tháng 3 năm 2019<br />
Chấp nhận đăng ngày 15 tháng 3 năm 2019<br />
<br />
1<br />
Địa chỉ: Viện Công nghệ mô phỏng, Học viện Kỹ thuật quân sự.<br />
2<br />
Viện Công nghệ thông tin, Viện KHCN quân sự.<br />
*<br />
Email: anhle.simtech@mta.edu.vn.<br />
<br />
<br />
<br />
<br />
226 L. Anh, Đ. H. Minh, P. V. Lai, “Một phương pháp hiển thị đặc trưng … lập trình GPU.”<br />