Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1.  
  2. GLOBAL sphere% = 1
  3. GLOBAL pitch#, bank#, yaw#
  4.  
  5. pitch = 0.0
  6. bank = 0.0
  7. yaw = 0.0
  8.  
  9. GLOBAL texture% = GENSPRITE()
  10. LOADSPRITE "card.bmp", texture // 512x1 pixel bitmap
  11.  
  12. CreateSphere(sphere, 900, 60, RGB(255,255,255))
  13.  
  14. WHILE TRUE
  15.  
  16. VIEWPORT 0,0,320,320
  17.  
  18. X_MAKE3D 1,1000,60
  19.  
  20. X_CAMERA 0,0,0, 0,0,1 // look into Z-direction
  21.  
  22. X_MOVEMENT 0, 0, 0
  23.  
  24. // angle°, pitch, yaw, bank
  25. X_ROTATION 0.0, 1, 1, 1 // reset to zero rotated state
  26. X_ROTATION -bank, 0, 0, 1 // apply bank angle rotation
  27. X_ROTATION -pitch, 1, 0, 0 // apply pitch angle rotation
  28. X_ROTATION -yaw, 0, 1, 0 // apply yaw angle rotation
  29.  
  30. X_SETTEXTURE texture, -1 // apply texture map
  31. X_DRAWOBJ sphere, 0
  32.  
  33. VIEWPORT 0,0,0,0
  34.  
  35. SHOWSCREEN
  36.  
  37. WEND
  38.  
  39. END
  40.  
  41.  
  42. // ------------------------------------------------------------- //
  43. // -=# SPHERE #=-
  44. // ------------------------------------------------------------- //
  45. FUNCTION CreateSphere: num, r, n, col
  46. LOCAL i,j, theta1, theta2, theta3, pi
  47. LOCAL pi# = ACOS(0)*2
  48. IF r < 0 THEN r = -r
  49. IF n < 4 THEN n = 4
  50.  
  51. X_AUTONORMALS 2 // smooth edges
  52. X_OBJSTART num
  53. FOR j=0 TO INTEGER(n/2) -1
  54. theta1 = j * 2*pi / n - pi/2;
  55. theta2 = (j + 1) * 2*pi / n - pi/2;
  56. FOR i=0 TO n
  57. theta3 = i * 2*pi / n;
  58. X_OBJADDVERTEX r*COS(theta2) * COS(theta3), r*SIN(theta2), _
  59. r*COS(theta2) * SIN(theta3), i/n, 2*(j+1)/n, col
  60. X_OBJADDVERTEX r*COS(theta1) * COS(theta3), r*SIN(theta1), _
  61. r*COS(theta1) * SIN(theta3), i/n, 2*j/n, col
  62. NEXT
  63. X_OBJNEWGROUP
  64. NEXT
  65. X_OBJEND
  66. ENDFUNCTION // n
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement