Jump to content
  • Advertisement

All Activity

This stream auto-updates     

  1. Past hour
  2. Nypyren

    C# constructor explanation

    When one class derives from another, the derived class's constructors are required to call one of the base class's constructors (unless there is a parameterless constructor, in which case that will be called implicitly if you don't specify a base constructor to call). That's what the ' : base(parameters) ' means.
  3. Codemaster Jamal

    C# constructor explanation

    Okay, so I know what Object Parent to Child Inheritance is but, can someone explain to me what's going on in this constructor of this class? using System; using DarkRift.Server; public class PluginExample : Plugin { public override bool ThreadSafe => false; public override Version Version => new Version(1, 0, 0); public PluginExample(PluginLoadData pluginLoadData) : base(pluginLoadData) { } } This is an example plugin I created with DarkRift Networking. I know that the class is extending the Plugin class (Meaning that the PluginExample class is a child of the Plugin class and that Plugin class is the parent class.) but, what I was trying to figure out was, what's going on with the constructor for the class? public PluginExample(PluginLoadData pluginLoadData) : base(pluginLoadData) { } I've never seen a constructor like this with other languages so I was wondering if this was a C# thing. I still got my code to work however, I was wondering what this may be exactly so perhaps I can use it to my advantage. It may be something that's only with DarkRift? Any explanation?
  4. Today
  5. Alundra

    Quaternion to Euler very imprecise

    Apparently the issue was the FromEuler function, using the Quaternion From Euler from the same website all works good: https://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToEuler/index.htm I think the order was an issue from the two functions yes, a conflict of convention in the maths.
  6. Thank you! I will try it.
  7. midn

    Game initialization.

    Using static variables doesn't imply that they must have a lifetime longer than main.
  8. Codemaster Jamal

    Texture/Material issue in Unity

    Try removing the old 3D model and then re-importing it. Also, try exporting your 3D model as an .fbx file.
  9. Codemaster Jamal

    My First Blender Trees!

    Hello, my name is Codemaster Jamal and roughly about one year ago I started to get back into Game Development. One of the first things I began to tackle was learning about Blender and how to create 3D models. I'll admit, it was hard at first but, eventually I got it down. Here's a few 3D models from my deviantArt page. If you are interested in seeing more, feel free to click the link at the bottom. https://www.deviantart.com/jamora
  10. Sounds sane. Is [ this ] the previous project mentioned?
  11. Hello! I am a sound designer who would be happy to help you out in creating this game. It sounds really interesting from a game standpoint as well as a sound designer standpoint with the sword and the spell casting. lots of opportunity for the sounds to come to life and further the game even more! Feel free to message me!
  12. I wasn't sure if I could post this here but, I've been learning how to make an MMORPG since I was roughly 14 years old. I'm 27 years old as of today and this is basically everything I've learned. I'm sure there's someone here that could school me in this. I honestly wanted to know what they think so far. If posting Game Dev Logs are against the rules, I will gladly remove my video and if it's possible, you can delete this thread.
  13. GoliathForge

    white dragon finger paint

    Hello, I took a look at this briefly. I'm not going to say your code is bad, (whoops) but could use some improvement. The area I would attack first is cleanliness. You are sloppy with your bracing. Case in point inside the function named writer... Here, the variable assignment to x may or may not happen depending the whatever n is supposed to be but y and z always get theirs.
  14. It also seems like using some kind of temporal averaging is the key to trying to get more effective sampling out of limited hardware resources. In addition to the SVGF that was already mentioned, Nvidia did something similar in their 2-layer Deep G-Buffers.
  15. Codemaster Jamal

    What are the requirements for creating a original game

    Sounds like a legal question but, if you're talking about going Indie start off with this. - Pick a Name, any Name. Even if it's the same name of another game, as long that name isn't Trademarked, you can still use that name, as long as your game's actual logo is different. (Though, I will advise on picking an original name, - Make a Game Logo. Copyright your logo. You won't need to Trademark because, trust me, it's a waste of time. Unless your game gets so big that it becomes a popular catch phrase, trademarking is really a waste of time and money when you're starting out as an Indie. - Create your game. Figure out the game's logic. Test the game's logic and more importantly let other people play it before launch. (This includes friends and family and would generally be considered a Beta Test) - Launch your game up on Steam, Itch.IO, Kongregate or build your own launch site. The choice is yours! There's multiple platforms for publishing a game. Figure out your needs and your game's needs and set it up to launch. That should roughly be it. If you need any more questions, feel free to message me. I'm also an Indie Developer myself so if you get the chance, check me out on YouTube. Just search up Codemaster Jamal and you'll find me. Anyhow, thanks for reading my message and enjoy being a game dev!
  16. Tom Sloper

    game idea

    You mentioned programming languages and said you were unsure of how to proceed. If you want feedback on a game concept, post it in Game Design and don't mention programming languages or production methodologies or other things unrelated to game design, and don't ask for advice about programming languages or how to code or anything unrelated to game design.
  17. lawnjelly

    Quaternion to Euler very imprecise

    That's a brilliant webpage .. shows exactly what is going on. His conversion to quaternion is using YXZ convention, and the conversion back to euler is using YZX convention I believe. If you convert back to euler using the same YXZ convention you get 45 degrees.
  18. phil67rpg

    game idea

    should I post in another forum, I want to get some feedback on my game idea.
  19. CaptainVG

    Story feedback

    Ok. I have a rough draft here that just explains the summary. I'm not a writer and I do not claim that I know everything better. But I thought of this idea and for once in my life, I have some faith in the concept and I would like to write and finish my creativity of the idea and maybe someday make it into a reality. If there is lack of depth, I plan to let someone in mind develop the characters further while still keeping the concept intact for as much as possible. I would just like opinions from you all of what do you think of the concept and the plotholes and questions that it leads to. I have just written the summary of the chapter and what the main objective is for the chapter. If you have a better format in mind, let me know so I can improve. 1. Prologue Summary: This is the beginning of the story which introduces the origins of the three gods, Jemmeous, Bruce Young and Kares. The Sky Realm is a world where only gods live. People have worshipped them for generations as they are responsible for answering people’s prayers and giving them blessings for their happiness and wellbeing. However, there are some of them who are either selfish or are not interested in people and are since then being forgotten. The council of the gods has yet to respond on what fate holds for these forgotten gods… In the present day at the Sky Realm, Jemmeous and Bruce were fighting in the arena. While fighting, Jemmeous constantly teases Bruce who got furious and ran towards him only to end up getting kicked back by Jemmeous winning the match as well as earning the Olympus trophy. On their way out of the arena, Jemmeous cheers Bruce up insisting to even let Bruce take the trophy as he considers it just an empty cup to which, Bruce denies. The two decide to find out what Kares is upto as they head to his lab. While Jemmeous is amazed by the inventions done by Kares, Bruce mocks at them for being rather useless in the realm. They encounter Kares who was busy inventing a device that has the ability to teleport to places without the need of electricity. As it was tested, it works as expected. Bruce mocks at the concept stating that it is practically useless in the realm, to which Kares sadly admits the fact. Jemmeous however cheers him up saying that it may help gods who are injured and cannot either fly or move which makes Kares smile. The three go outside and develop conversations about how life on Earth must be. Jemmeous deeply wishes that he can one day live on Earth much to Kares and Bruce’s shock. Bruce becomes furious with the statement as he wants to settle with Jemmeous on who is best in the arena once and for all to which he replies that he can’t wait for that to happen. Kares states that he is curious on how life on Earth must be considering that the world around Earth is vastly different than that of the Sky Realm but has no intention of settling life on Earth unlike Jemmeous. Meanwhile in the council, a silhouette person looks at the three from the outside. Jemiah asks if he is to send the three in the council to which the shadowed man replies yes. The next day, the three are given a message to attend to the council. They are ordered by Xander to enter the black portal outside of the coliseum as there appears to be someone stuck at the portal. When the three enter the portal, they get sucked right into a dimension. As they look around, they observe water which Karel says that it only exists on Earth. Bruce looked for the portal but it suddenly disappeared. Both Bruce and Karel panicked but Jemmeous on the other hand screamed with joy. Suddenly humans began to watch them and the three realized that they look terrifying due to their looks being deceiving and so they left to find a church. Kares manages to find the church and so the three enter it only to find an old man in there alongside a young woman. Both of them were terrified with Brian holding the crucifix in fear that the gods could harm them but Jemmeous calmed them down by simply ordering Brian to chant the mantra that Kares has written down while Bruce draws the Wicca. After Brian and his assistant chanted the words as ordered, Jemiah is summoned. Bruce demands to know of why they were over here as they didn’t find anyone stuck in the portal. Jemiah replies by saying that they are banished from the Sky realm and are to remain in Earth for the next 15 years after which they are forgotten. When asked of what he meant by this, he answered that they will be wiped out of existence which to the three of them sounded more like facing death. Jemiah further states that to prevent them from being forgotten, they have to perform any one of the two choices. 1. Helping the people in exchange for them to value the god’s existence so they can by a miracle return to the realm. 2. Becoming a mortal by marrying a mortal who can provide everlasting love to the god and the god in turn must do the same. Before Jemiah leaves, Jemmeous cleverly manages to say that these options are impossible to meet unless they get certain conditions granted otherwise they can file a complaint to the council since this is an experiment and that they can make it go public to the realm. Jemiah reluctantly agrees. The conditions that Kares has asked for are as follows 1. They must look exactly like humans and have the ability to understand the human world while keeping their powers intact which has been granted except for Bruce who is still big in size. 2. They need all of Bruce’s treasure that he has obtained in all the 10 million years of his life which has been granted. 3. They cannot be killed by legendary weapons that were built to kill gods. While this cannot be granted, they are granted the ability to sense such weapons even in far off places which can be granted. Before Jemiah leaves, he warns them that humans or other creatures that have life and move cannot be killed otherwise, they will be completely erased and forgotten and disappears. The first thing that Jemmeous suggests is to change their names inorder for the humans to accept them. Jemmeous refers himself as Jimmy, Bruce Young is remained as Bruce and Kares is named as Karel. Jimmy then says that they first should head to high school as means of not just an activity but also as means of their first spot to find their true love. Kares asks Jimmy as to what they plan to do for residence. Brian interrupts and says that they can stay here in the church for as long as they want. The gang(except Bruce) thanks Brian for his kindness. The next day, the gang enter the Orchard High School and because of how well they did in the entrance exams, they are in the 12th grade of high school meaning that they remain to stay there for the next one year. This ends the prologue. The objectives that the player must complete in the Prologue: 1. Defeat Bruce at the arena. This introduces the battle combat system. 2. Meet Kares from his lab. This teaches the basic movement of the game. 3. Enter the council. 4. Enter the portal. Optional things that can be done: 1. Talk to various NPCs from the realm if interested.
  20. GoliathForge

    Quaternion to Euler very imprecise

    https://www.andre-gaschler.com/rotationconverter/ What I'm observing from using this online converter, It appears that quaternion is indeed 45° on each axis but in the YXZ arrangement. The Euler's you get are partially confirmed but flipped Y and Z. Matching YXZ gives 45° Euler angles across the board. Perhaps that's a clue. edit: if I use your ZXY arrangement, then the input quaternion is (appears) incorrect.
  21. MrFloat

    Register a templated function?

    I think AngelScript supports template types but not functions. Something similar could maybe be made by using output variable parameters (https://www.angelcode.com/angelscript/sdk/docs/manual/doc_adv_var_type.html)
  22. That SSVDAG algorithm looks impressive, but doesn't look applicable to real-time techniques, as it doesn't look like you could construct an SSVDAG in real time. @spike1 - It won't make it faster, but hardware virtual-texture support could reduce the voxel memory requirements. The idea would be similar to sparse-virtual-shadow-maps, though it's probably not supported on the GTX 750 Ti in hardware. Maybe with a github source repo.. someone might collaborate and improve it, or someone else might find a practical use for the technique even with it's limitations.
  23. Hey, hello there! This is yet another new entry in this truly wonderful weekly update blog! This week was quite big. There is a couple of new stuff so let's get right to it! Pooling First, I want to talk about a subtle upgrade. In the game, I'm using static factories to generate different game objects such as projectiles, props and entities among other things. While this is quite handy (especially since you don't need to drag'n' drop any components at all), it wasn't really optimized. Some object (especially projectiles) could frequently be instantiated and destroyed. For some objects this is fine but for others, it can really affect the FPS. To fix this we need to use pools. These are essentially scalable stacks of the pre-instantiated game objects that are ready to use. Instead of destroying them we simply disable them and store them back into the pool, thus recycle the game object and avoiding a lot of overhead. While on the surface this might seems odd it's actually really useful with short-lived and numerous objects. Pretty simple to integrate into my factories too! It works like a charm! I've partially based my Pool system off this one if you're interested. Spark Effect Next, there's a new particle effect in the game. This one is quite AESTHETIC, so be warned. Basically, it's a Memphis design effect that is supposed to represent some kind of collision. The particles are also coloured accordingly to the colour palette too! Right now these are used on any physical hit. However, I'm still trying to think about a better use case for them... Here's a video showing them off: New Enemy Finally, I'm proud to say that there's now another new enemy in the game: the archer. This enemy uses a bow to attack. It will try to keep its distance and instead try to attack at range. It will also try to trick the enemy to avoid being targeted by them too. They also got a different behaviour that other, in which they will try to circle around their target and keep moving no matter what. When they're near their target and has a clear sight of them, they will draw an arrow, pull their bow and launch it. It's a good idea to strike when they're pulling their bow as it's when they're the most vulnerable. Like their sabre-wielding piers, they will also patrol around their room and be on the lookout for any enemies. They will also flee when weak and can be one-shot too! Here's an encounter with an archer: Minor Updates Big refactor of the GUI. Replace duplicated code with inheritance. Optimized some GUI events. Fixed some oversight in some GUIs. Added a cached state controller that can cache useful data that rarely changes. Added individual limbs target to player characters Right now there isn't any damage multiplier on the player's limbs nor are the enemies try to target some. This might be an idea for later though. Made the active arrow much more flexible Replace the unintuitive layer mask int to a LayerMask instance. It makes it so much better to edit these Made the arrow play the appropriate collision sound when colliding with objects. Big code conventions refactor. Added proper animation masks to my animated models Made most behaviour tree controllers much more flexible Basically the same thing as the active arrow, which is replacing layer mask int to LayerMask instances. Fixed bugs with the hamburgers Fixed some oversights in physic collisions between layers. Next Week I'm still not done with the archer enemy. It still needs a bit of balancing and bug fixing. I also need to perhaps complexify my behaviour tree a tad bit. I'm slowly getting there at each iteration. It's quite interesting and all but working with behaviour tree requires a lot of conception and debugging too! After I'm done with the archer, I'll probably add a gunner too. Afterwards, I'm gonna focus on the bosses. Of all entities these are probably the dumbest and also the buggiest, so that's up next. And then there's the usual suspect (relics, capacities, items, rooms, etc.). I sure hope that with the right type of enemies the game can get better exposure... Only time will tell...
  24. Pursche

    Register a templated function?

    Hi! I am having a hard time figuring out how to register a templated function. I read this page: http://www.angelcode.com/angelscript/sdk/docs/manual/doc_adv_template.html But it only seems to cover how to create a templated type with member functions (object behaviors). I saw this thread that has almost the same problem and usecase as me, in it one of the comments says that the following usage should be possible in AngelScript. Velocity@ vel = entity.getComponent<Velocity>(); But it doesn't go into any details on how to do this. It also suggests this syntax which I would prefer to avoid if possible, and yes I read the part about this having better performance. entity.getVelocity(); My most preferable usecase would be getComponent<Velocity>(entity); with entity.getComponent<Velocity>() as a close second. Is this even possible without a templated type? Could anyone show me a concrete example of registering a templated global function, preferable with specializations as well?
  25. Tom Sloper

    white dragon finger paint

    This did not belong in Game Design (game design is not about programming). It's moved to a more appropriate forum.
  26. im trying to save file as file.x old microsoft style .x files this code writes but it comes out as an error i compiled it with visual c using glut i need to be able to both read and write .x files such as wdf.x <--- here is the code sorry about spaghetti code =========================================== #ifdef WIN32 #include <windows.h> #endif #if defined(__APPLE__) || defined(MACOSX) #include <OpenGL/gl.h> #include <OpenGL/glu.h> #include <GLUT/glut.h> #else #include <GL/gl.h> #include <GL/glu.h> #include <gl/glut.h> #endif #include <stdio.h> #include <stdlib.h> int xt,yt,zt =0.0f; int xtc =1.0; #define MAX_VERTS 900000 float angle = 0; float anglf = 0; float anglg = 0; float n =0.0; GLfloat z= -0.2f; GLfloat hl= 0.0f; GLfloat zm= -0.2f; GLfloat zp= 0.2f; GLuint mousex, mousey, mousez = 0; static GLfloat Scale = 0.0f; static int i= 2; int j= 2.0; static int numVerts = 2; static struct {GLfloat x, y, z;} verts[MAX_VERTS][2]; static GLboolean dragMouse = GL_FALSE; enum {X, Y, Z}; enum {NOLIST, PLANE}; /* display lists */ enum {VERTS}; /* load data structure from file */ enum {WRITE, END}; void reshape(int w, int h) { glViewport(0,0, w,h); glLoadIdentity(); glOrtho(0,w, h,0, -1,1); /* flip y-axis around */ glMatrixMode(GL_MODELVIEW); } // not used jmcd void glRotateAxis(void){ glTranslatef(0.0f,0.0f,0.0f); //glScalef(Scale, Scale, Scale); glRotatef(angle,0.0f,+1.0f,+1.0f); //on center rotation by jmcd glTranslatef(0.0f,0.0f,0.0f); } void glRotateAxisB(void){ glTranslatef(0.0f,0.0f,0.0f); //glScalef(Scale, Scale, Scale); glRotatef(angle,0.0f,-1.0f,-1.0f); //on center rotation by jmcd glTranslatef(0.0f,0.0f,0.0f); } void glScaleIt(void) { glScalef(Scale, Scale, Scale); } void display(void) { glClear(GL_COLOR_BUFFER_BIT); /* clear frame buffer */ //glPointSize(3.0f); glColor3f(2.0, 7.0, 3.0); /* set current color to Pastashio Green */ glMatrixMode(GL_PROJECTION); //glTranslatef(0.0f,0.0f,0.0f); //glRotatef(angle,1.0f,1.0f,0.0f); //on center rotation by jmcd //glTranslatef(0.0f,0.0f,0.0f); //glRotatef(anglf,0.0f,1.0f,0.0f); //glRotatef(anglg,0.0f,0.0f,1.0f); //glRotatef(10-.01,0.0f, 1.0f, 0.0f); glBegin(GL_POINTS); //glBegin(GL_LINES); GL_POINTS if (numVerts > 1) { int i; for (i = 0; i < numVerts; i++) glVertex3d(verts[0].x, verts[0].y, verts[0].z); if(dragMouse) // numVerts++; i++; glVertex3f((GLfloat) verts[1].x=mousex, (GLfloat) verts[1].y=mousey, (GLfloat) verts[1].z=mousez); //glVertex3d(verts[1].x, verts[1].y, verts[1].z); //if(dragMouse == GL_TRUE) glEnd(); } glutPostRedisplay(); glFlush(); /* make sure all GL commands are executed */ } void writer(char *fname) { FILE *fp; GLfloat x, y, z ; int state = WRITE; int jtrig = 0.0; int i= 2.0; fp = fopen(fname, "wb"); if (!fp) { printf("can't open file %s\n", fname); } // glNewList(PLANE, GL_COMPILE); state = WRITE; while(!feof(fp)) { switch(state) { case WRITE: if (n == 0.0) x = verts[0].x; y = verts[0].y; z = verts[0].z; fprintf(fp, " %f %f %f", verts[0].x, verts[0].y, verts[0].z); printf ("xyz : %f.\n",x,y,z); printf ("numverts : %f.\n",numVerts); //printf(fp, " %f %f %f", verts[j][0].x, verts[j][0].y, verts[j][0].z); fprintf (fp, "%f \r\n",0); // j++; if(i == numVerts) state = END; i++; n= 1.0; break; if (n == 1.0) x = verts[1].x; y = verts[1].y; z = verts[1].z; fprintf(fp, " %f %f %f", verts[1].x, verts[1].y, verts[1].z); printf ("xyz : %f.\n",x,y,z); printf ("numverts : %f.\n",numVerts); //printf(fp, " %f %f %f", verts[j][0].x, verts[j][0].y, verts[j][0].z); fprintf (fp, "%f \r\n",0); // j++; if(i == numVerts) state = END; i++; n= 0.0; break; //fclose(fp); if(i < numVerts) state = WRITE; if (x == 0.0) fclose(fp); break; case END: fclose(fp); state = NULL; state = END; break; } } } void loader(char *fname) { FILE *fp; GLfloat x, y, z; int state = END; int read; n = 0; numVerts = 2.0; i = 2.0; fp = fopen(fname, "r"); if (!fp) { printf("can't open file %s\n", fname); exit(1); } // glNewList(PLANE, GL_COMPILE); state = VERTS; while(!feof(fp)) { switch(state) { case END: // read = fscanf(fp, ""); // if(read < 0) /* hit eof */ // break; state = VERTS; // glBegin(GL_LINE_STRIP); break; case VERTS: if( n = 0.0) fscanf(fp, " %f %f %f ", verts[0].x, verts[0].y, verts[0].z); // fscanf(fp, " %f %f %f", &x, &y, &z); printf("xyz : %f./n",verts[0].x,verts[0].y,verts[0].z); ////////////////////////////////////// printf("xyz : %f./n",x,y,z); ///// verts[0].x = x; verts[0].y = y; verts[0].z = z; // watch 148 n = 1.0; i++; // numVerts = i; if( n = 1.0) fscanf(fp, " %f %f %f ", verts[1].x, verts[1].y, verts[1].z); printf("xyz : %f./n",verts[0].x,verts[0].y,verts[0].z); ////////////////////////////////////// printf("xyz : %f./n",x,y,z); ///// verts[1].x = x; verts[1].y = y; verts[1].z = z; // watch 148 n = 0.0; i++; // numVerts = i; @@@@@@@@@@@@@@@@@@@@@JMCD NOW!!@@@@@@@@@@@@@@ if(x = 0.0); state = END; if (x !=0.0) state = VERTS; { // fscanf(fp, ""); //glEnd(); // state = END; } break; } } // glEndList(); fclose(fp); } void keyboard(unsigned char key, int x, int y) { switch (key){ case 'd': hl=zm; z= hl; glutPostRedisplay(); break; case 'f': hl=zp; z= hl; glutPostRedisplay(); break; case 'l': loader("./data/wdf.x"); glutPostRedisplay(); // glFlush(); break; case 'w': writer("./data/wdf.x"); glutPostRedisplay(); // glFlush(); break; case 'u': numVerts--; i--; printf("xyz : %d./n", x,y,z); glutPostRedisplay(); break; case 'c': hl=0.0f; z= hl; glutPostRedisplay(); break; break; case 's': numVerts=2; i=2; glutPostRedisplay(); break; case 'r': numVerts++; i++; printf("xyz: %d./n", x,y,z); glutPostRedisplay(); break; case 'p': Scale = 0.4f; glScaleIt(); break; case 'o': Scale += 0.4f; glScaleIt(); break; case 'a': angle += .001f; printf ("angle : %f.\n", angle); glRotateAxisB(); break; case 'z': angle += .001f; printf ("angle : %f.\n", angle); glRotateAxis(); //this whole thing is right, x below also all correct // glutPostRedisplay(); break; case 'x': angle -= .001f; glRotateAxis(); //glutPostRedisplay(); break; case 'k': angle -= .1; glRotatef(angle,1.0,0.0,0.0); glutPostRedisplay(); break; case 'y': angle += .1; glRotatef(angle,0.0,1.0,0.0); glutPostRedisplay(); break; case 'g': angle -= .1; glRotatef(angle,0.0,-1.0,0.0); glutPostRedisplay(); break; // case 'n': // numVerts--; //glutPostRedisplay(); /* request a redisplay */ // break; /* case 'q': case 'Q': exit(0); break;*/ } } void mouse(int button, int state, int x, int y) { if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN ) if (numVerts < MAX_VERTS) { dragMouse = GL_TRUE; // printf ("Mouse in play routine : %d,%d,%d.\n", x,y,z); //jmcd take out later !!! verts[0].x = x; verts[0].y = y; verts[0].z = hl; // watch 148 printf ("Index I: %d.\n", i); printf ("dragMouse : %d.\n", dragMouse); printf ("numVerts : %d.\n", numVerts); //jmcd jmk 1 printf ("hl : %f.\n", hl); printf ("z : %f.\n", z); if (xtc = 1.0) xt = verts[0].x; yt = verts[0].y; zt = verts[0].z; // fwrite(fp, " %f %f %f",xt,yt,zt); printf("xt : %i./n ", xt); printf("yt : %i./n ", yt); printf("zt : %i./n ", zt); xtc++; numVerts++; i++; glutPostRedisplay(); /* request a redisplay */ } } void mouseMotion(int x, int y) { if (GLUT_UP == TRUE) { dragMouse = GL_TRUE; if(dragMouse) { //dragmouse achieved at 11:40 AM //D //8:32 AM mousex = x; mousey = y; mousez = z; // glMatrixMode(GL_MODELVIEW); glutPostRedisplay(); } printf ("hl : %f.\n", hl); //glVertex3f((GLfloat) verts[0].x, (GLfloat) verts[0].y, (GLfloat) verts[0].z); //i++; } // glutPostRedisplay(); /* request a redisplay */ } #define ESC 27 //void keyboard(unsigned char key, int x, int y) {if (key == ESC) exit(0);} int main(int argc, char *argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutInitWindowSize(500,500); glutInitWindowPosition(10,10); glutCreateWindow("Polyline Editor"); glutDisplayFunc(display); glutReshapeFunc(reshape); glutMouseFunc(mouse); glutPassiveMotionFunc(mouseMotion); glutKeyboardFunc(keyboard); glClearColor(0.0, 0.0, 0.0, 1.0); glutMainLoop(); return 0; } thank you in advance sincerly JakePlow polyed3.c polyed3.dsp polyed3.plg
  1. Load more activity
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!