OpenGL and Netcode

Started by
2 comments, last by V-man 15 years, 10 months ago
Hi I want to start developing an engine in OpenGL and making it as much portable as possible on every system that supports the API. The problem is that i'm creating it on windows vista and the engine need to have absolutely netcode. If I use winsock to create the netcode I presume it wont be compatible with other systems. Any advice, should I use a special API or? Also, I want to develop tools for the engine, like a worldbuilder, what cross platform API should I use? And also, some advice from you guys, should I develop it on Win Vista or would be better suited for the job by other OS? And why did you chose that OS if you chose it over Win Vista. Also, the engine would have a physix module integrated into it, would C++ be suited well for this kind of calculations or C would be much faster?
Advertisement
No offense, but I feel you might be in a bit over your head. But to answer your questions:
Use Enet, for example, instead of winsocks, although they're a lot like BSD sockets, which are plain universal.
Use FLTK for cross platform GUI (again, among others, I just prefer it).
I personally develop on vista. YMMV. Just don't use vista specific APIs without a fallback.
Holy crap I started a blog - http://unobvious.typepad.com/
Thanks for your help Starfox. I know im over my head, but I learn and advance. No one has ever done this ideea that I found in any game engine to date, so, time to start coding :)
I know C++ and some basic OpenGL, indeed, I remembered Beeje's Guide and what he said about Winsock's, and you are right. Thanks again for the info!
You could always use the standard socket funtions : send, recv, bind, connect.
For physics, use some already created engine like ODE, Newton, Bullet, ...
For some worldbuilding, GTK, GTK+.

Good luck!
Sig: http://glhlib.sourceforge.net
an open source GLU replacement library. Much more modern than GLU.
float matrix[16], inverse_matrix[16];
glhLoadIdentityf2(matrix);
glhTranslatef2(matrix, 0.0, 0.0, 5.0);
glhRotateAboutXf2(matrix, angleInRadians);
glhScalef2(matrix, 1.0, 1.0, -1.0);
glhQuickInvertMatrixf2(matrix, inverse_matrix);
glUniformMatrix4fv(uniformLocation1, 1, FALSE, matrix);
glUniformMatrix4fv(uniformLocation2, 1, FALSE, inverse_matrix);

This topic is closed to new replies.

Advertisement