OpenGL/Utah teapot: Difference between revisions
Content deleted Content added
added Raku programming solution |
→{{header|Raku}}: fixed by using also libGL, just like the other opengl task |
||
Line 482:
use NativeCall;
constant $lib = 'glut';▼
my $rot = 0e0;
Line 496 ⟶ 494:
▲constant $lib = 'glut';
sub glutInit(CArray[uint32], CArray[Str]) is native($lib) {*};
sub glutInitDisplayMode(uint32 $mode) is native($lib) {*};
sub glutInitWindowSize(int32 $width, int32 $height) is native($lib) {*};
sub glutCreateWindow(Str $str) is native($lib) {*};
sub glClearColor(num32 $red, num32 $green, num32 $blue, num32 $alpha) is native($lib) {*};▼
sub glShadeModel(int32) is native($lib) {*};▼
sub glEnable(int32) is native($lib) {*};▼
sub glClear(int32) is native($lib) {*};▼
sub glutDisplayFunc(&func ()) is native($lib) {*};
sub glPushMatrix() is native($lib) {*};▼
sub glutWireTeapot(num64 $size) is native($lib) {*};
sub glPopMatrix() is native($lib) {*};▼
sub glFlush() is native($lib) {*};▼
sub glutIdleFunc(&func ()) is native($lib) {*};
sub glutPostRedisplay() is native($lib) {*};
sub glutMainLoop() is native($lib) {*};
constant $gllib = 'GL';
sub glLightfv (int32, int32, Pointer[CArray[num32]] is rw) is native($lib) {*};▼
sub
▲sub
sub glMaterialfv(int32, int32, CArray[num32]) is native($gllib) {*};
Line 522:
glClearColor(.5e0,.5e0,.5e0,0e0);
glShadeModel(GL_SMOOTH);
glLightfv(GL_LIGHT0,GL_AMBIENT,CArray[num32].new: 1e0,1e0,1e0,0e0); # white
glLightfv(GL_LIGHT0,GL_DIFFUSE,CArray[num32].new: 1e0,1e0,1e0,0e0); # white
glMaterialfv(GL_FRONT,GL_SHININESS,CArray[num32].new: 70e0); # skinless so no effect ?
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
Line 532 ⟶ 535:
glRotatef(30e0,1e0,1e0,0e0);
glRotatef($rot,0e0,1e0,1e0);
glMaterialfv(GL_FRONT,GL_DIFFUSE, CArray[num32].new: 0e0,1e0,0e0,0e0); # green
glutWireTeapot(.5e0);
glPopMatrix();
Line 553 ⟶ 557:
</lang>
Output: [https://drive.google.com/file/d/
|