Java-Gaming.org Hi !
 Featured games (91) games approved by the League of Dukes Games in Showcase (757) Games in Android Showcase (229) games submitted by our members Games in WIP (844) games currently in development
 News: Read the Java Gaming Resources, or peek at the official Java tutorials
Pages: [1]
 ignore  |  Print
 Help understanding the code  (Read 1231 times) 0 Members and 1 Guest are viewing this topic.
daimous

Junior Newbie

 « Posted 2009-12-12 15:01:45 »

Hi Guys hel please.. I'm new to open gl programming ...Can any body please help me or at least give me idea on what subdivideCircle, normalize, and drawtriangle functions is trying to do? Thanks ina advance!

 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60 `  // subdivide a triangle recursively, and draw them    private void subdivideCircle(int radius, float[] v1, float[] v2, int depth)    {        float v11[] = new float[3];        float v22[] = new float[3];        float v00[] = {0, 0, 0};        float v12[] = new float[3];        if (depth==0)        {            //5. specify a color related to triangle location            gl.glColor3f(v1[0]*v1[0], v1[1]*v1[1], v1[2]*v1[2]);            for (int i = 0; i<3; i++)            {                v11[i] = v1[i]*radius;                v22[i] = v2[i]*radius;            }            drawtriangle(v11, v22, v00);            return;        }        v12[0] = v1[0]+v2[0];        v12[1] = v1[1]+v2[1];        v12[2] = v1[2]+v2[2];        normalize(v12);        // subdivide a triangle recursively, and draw them        subdivideCircle(radius, v1, v12, depth-1);        subdivideCircle(radius, v12, v2, depth-1);    }    // draw a circle with center at the origin in xy plane    public void drawCircle(int cRadius, int depth)    {        subdivideCircle(cRadius, cVdata[0], cVdata[1], depth);        subdivideCircle(cRadius, cVdata[1], cVdata[2], depth);        subdivideCircle(cRadius, cVdata[2], cVdata[3], depth);        subdivideCircle(cRadius, cVdata[3], cVdata[0], depth);    }    // normalize a 3D vector    public void normalize(float vector[])    {        float d = (float)Math.sqrt(vector[0]*vector[0]        +vector[1]*vector[1] + vector[2]*vector[2]);        if (d==0)        {            System.out.println("0 length vector: normalize().");            return;        }        vector[0] /= d;        vector[1] /= d;        vector[2] /= d;    }    public void drawtriangle(float[] v1, float[] v2, float[] v3)    {        gl.glBegin(GL.GL_TRIANGLES);        gl.glVertex3fv(v1);        gl.glVertex3fv(v2);        gl.glVertex3fv(v3);        gl.glEnd();    }`
Eli Delventhal

JGO Kernel

Medals: 42
Projects: 11
Exp: 10 years

Game Engineer

 « Reply #1 - Posted 2009-12-12 23:34:21 »

If you can't figure it out yourself, you're probably in trouble anyway. Just use the functions and don't worry about what's under the hood, or start from the beginning and learn OpenGL from  the ground up. One or the other.

Also, Off Topic is the wrong forum for this. Moved.

See my work:
OTC Software
Pages: [1]
 ignore  |  Print

 EgonOlsen (74 views) 2018-06-10 19:43:48 EgonOlsen (55 views) 2018-06-10 19:43:44 EgonOlsen (75 views) 2018-06-10 19:43:20 DesertCoockie (254 views) 2018-05-13 18:23:11 nelsongames (154 views) 2018-04-24 18:15:36 nelsongames (154 views) 2018-04-24 18:14:32 ivj94 (895 views) 2018-03-24 14:47:39 ivj94 (156 views) 2018-03-24 14:46:31 ivj94 (808 views) 2018-03-24 14:43:53 Solater (172 views) 2018-03-17 05:04:08
 Java Gaming Resourcesby philfrei2017-12-05 19:38:37Java Gaming Resourcesby philfrei2017-12-05 19:37:39Java Gaming Resourcesby philfrei2017-12-05 19:36:10Java Gaming Resourcesby philfrei2017-12-05 19:33:10List of Learning Resourcesby elect2017-03-13 14:05:44List of Learning Resourcesby elect2017-03-13 14:04:45SF/X Librariesby philfrei2017-03-02 08:45:19SF/X Librariesby philfrei2017-03-02 08:44:05
 java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org