Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// ================ init ===============
- uint pp[5],cc[2];
- {
- glGenBuffers(5,pp);
- glGenBuffers(2,cc);
- for (int t=0;t<5;t++){
- float am[200][2];
- for (int i=0;i<200;i++){
- float w=float(i)/200*2*pi;
- float r=cos(w*(t+2))*0.25+0.75;
- am[i][0]=cos(w)*r;
- am[i][1]=sin(w)*r;
- }
- glBindBuffer(GL_ARRAY_BUFFER, pp[t]);
- glBufferData(GL_ARRAY_BUFFER, sizeof(am), am, GL_STATIC_DRAW);
- }
- {
- float am[200][3];
- for (int i=0;i<200;i++){
- float w=cos(float(i)/200*2*pi);
- am[i][0]=w;
- am[i][1]=1-w;
- am[i][2]=0;
- }
- glBindBuffer(GL_ARRAY_BUFFER, cc[0]);
- glBufferData(GL_ARRAY_BUFFER, sizeof(am), am, GL_STATIC_DRAW);
- for (int i=0;i<200;i++){
- float w=cos(float(i)/200*2*pi*10)*0.5+0.5;
- am[i][0]=w;
- am[i][1]=w;
- am[i][2]=w;
- }
- glBindBuffer(GL_ARRAY_BUFFER, cc[1]);
- glBufferData(GL_ARRAY_BUFFER, sizeof(am), am, GL_STATIC_DRAW);
- }
- }
- /// ================ draw ===============
- {
- //glEnableClientState(GL_COLOR_ARRAY);
- glLineWidth(5);
- for (int i=0;i<5;i++){
- glPushMatrix();
- glTranslatef((i-2)*0.5,0,0);
- glScalef(0.2,0.2,0.2);
- glBindBuffer(GL_ARRAY_BUFFER, pp[i]);
- glVertexPointer(2,GL_FLOAT,0,0);
- glBindBuffer(GL_ARRAY_BUFFER, 0);
- glBindBuffer(GL_ARRAY_BUFFER, cc[i%2]);
- glColorPointer(3,GL_FLOAT,0,0);
- glBindBuffer(GL_ARRAY_BUFFER, 0);
- glDrawArrays(GL_LINE_LOOP,0,200);
- glPopMatrix();
- }
- //glDisableClientState(GL_COLOR_ARRAY);
- text.glerr("123");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement