- Hands-On Game Development with WebAssembly
- Rick Battagline
- 198字
- 2021-06-24 13:41:05
The ShipPosition function
If this were production quality code, I would be doing a lot of the work that I am currently doing inside of the initialization routine in this rendering function. Moving sprites around independently on the canvas would require updates to our array buffers. I probably wouldn't define my geometry in the way I did, that is, calculating the sizes by hand. I am not currently making any changes to the array buffer or the texture buffer; I am trying to keep this code to the bare minimum necessary to render a sprite onto the canvas using WebGL. Here is what I have:
function ShipPosition( ship_x, ship_y ) {
if( image_width == 0 ) {
return;
}
gl.uniform4fv(u_translate_location, [ship_x, ship_y, 0.0, 0.0]);
gl.drawArrays(gl.TRIANGLES, 0, 6);
}
- The first few lines check to see whether the image download has completed. If not, we will exit out of this function:
if( image_width == 0 ) {
return;
}
- Next, we tell WebGL to load the uniform u_translate uniform variable with our spaceship's coordinates:
gl.uniform4fv(u_translate_location, [ship_x, ship_y, 0.0, 0.0]);
- Finally, we instruct WebGL to draw triangles with the six vertices in our array buffer:
gl.drawArrays(gl.TRIANGLES, 0, 6);
推薦閱讀
- Augmented Reality with Kinect
- SDL Game Development
- 極簡Spring Cloud實(shí)戰(zhàn)
- 3ds Max Speed Modeling for 3D Artists
- 數(shù)字邏輯(第3版)
- OUYA Game Development by Example
- Spring Cloud微服務(wù)架構(gòu)實(shí)戰(zhàn)
- Machine Learning Solutions
- Machine Learning with Go Quick Start Guide
- 數(shù)字媒體專業(yè)英語(第2版)
- Neural Network Programming with Java(Second Edition)
- 圖解計算機(jī)組裝與維護(hù)
- Java Deep Learning Cookbook
- WebGL Hotshot
- Spring Cloud實(shí)戰(zhàn)