• Content count

  • Joined

  • Last visited

Community Reputation

122 Neutral

About Wolvorine

  • Rank
  1. Quote:Original post by jollyjeffers Extracting 3D information from a conventional 2D image is no simple task. Trying to identify the 3D coordinates of a cloud and creating some sort of matching particle or volumetric rendering would be particularly tricky simply due to the image extraction necessary... So hopefully I've just grabbed the wrong end of the stick [smile] Have a look at "sky box" or "sky dome" algorithms as they should allow you to gain some sort of 3D 'feel' and be a much more realistic looking background. hth Jack Thanks for the reply jack, i already implemented the skybox but my task need to calculate the Z axis of the cloud as well, basically from 2d image of cloud i need 3d coordinate ...i know it sounds very strange and something that could be very hard to implement... cuz i am also unaware of any technique which can do this require task.... :S i am really not getting the solution for this part...Basically the project is something like a real time camera will be fit on the roof. Which will watch SKY permanently ...then it will capture some BMPS and pass it to the application which will calculate the speed of those clouds , their Depth , Width etc and it should show in the application like simulating the clouds in 3d world...Suppose if i will implement skybox , and one by one ill change all those BMS of sky then, still i need somehow to tell the exact speed of the cloud , plus Z ,X and Y axis values as well including width etc. I never had this kind of project before but now i am feeling like why i cannot find a solution which somehow solve this task. Pattern matching might be a solution but its optimization could take years to make it perfect with billions time of testing...that could be bad for the project.
  2. Quote:Original post by jpventoso Do you have a panoramic view? Or only straight-forward photos? You need a full panoramic view to make a skybox AFAIK. Thanks for reply ,basically those picture are taken by the camera focused on sky..I think they are not panoramic view. Picture has clouds only.. but my first concern is how to make them look as 3d object ...like how we make terrain from BMP image or something..
  3. or any one can guide me how to create clouds from real sky image??? like how terrain get create from image... either in directx8 or directx9
  4. Hi, I am not sure where should i ask this question so i am asking here at the moment. I have a task in which i need to use some real sky images from the camera to record clouds movement. After i receive number of BMPS , what i require is to map these pictures into 3d Simulator base application. So if we use 3d camera to watch 3d sky it should have an effect of 3d clouds as well, main points which i need to concern is X,Y and proper Z axis of that cloud object. In simple words from BMP image to 3d cloud , is this possible???? let say if you guys get something this kind of task what would be your steps to get the goal???? All things need to be made in directx 8.
  5. hi, i am working on mobile game development, so if i create any graphical interface for any specific screen then i have to again recreate the things for other resolution of screens for other mobiles. Currently iam working on pixel base work and now images are getting shrink according to the screen's width and height , so having images according to the screen resolution is fine ...but problem is placement of any image on the screen. Suppose if screen resolution is 111x150 and its first image's placement is 10 X axis and 30 Y axis ....what would happend if i get a screen of 333x200 , then what placement of that image could be suitable for that image i knwo i cant use 10X and 30Y vbecause screen is bigger now.... Can any one give me iany dea how to obtain this goal?? thanks in advance Farhan
  6. hi, i have 2d sprites which i want to use inside the 3d world of openGL. How can i make this ..kindly if you have any sample or link then please let me know ... Or any technique by which i can achieve my goal ??? thanks in advance
  7. hi, I am having a problem in loading the transparent bitmap maybe my algo is wrong , hope you guys can figure and point me out that what parts are making problem thanks. Regards GLuint texture[1]; // Storage For One Texture ( NEW ) AUX_RGBImageRec *LoadBMP(char *Filename) // Loads A Bitmap Image { FILE *File=NULL; // File Handle if (!Filename) // Make Sure A Filename Was Given { return NULL; // If Not Return NULL } File=fopen(Filename,"r"); // Check To See If The File Exists if (File) // Does The File Exist? { fclose(File); // Close The Handle return auxDIBImageLoad(Filename); // Load The Bitmap And Return A Pointer } return NULL; // If Load Failed Return NULL } here i am setting the new texture with the transparent image which i just create by removing alpha channel's value and make it as 0. Texture::Texture(string filename,uint TexId,bool bIsTransparent,uchar r,uchar g,uchar b) { AUX_RGBImageRec *TextureImage[1]; // Create Storage Space For The Texture unsigned char* PixelData; memset(TextureImage,0,sizeof(void *)*1); // Set The Pointer To NULL if (TextureImage[0]=LoadBMP((char*)filename.c_str())) { //GLuint textures[1]; //glGenTextures(1, &texture[0]); // Create The Texture PixelData = TextureImage[0]->data ; if(bIsTransparent) { /*TextureImage[0]->data = SetTransparentColourofTexture(TextureImage[0]->data, TextureImage[0]->sizeX*TextureImage[0]->sizeY,r,g,b); SetTransparentColourofTexture(TextureImage[0]->data, TextureImage[0]->sizeX*TextureImage[0]->sizeY,r,g,b);*/ for (uint i = 0; i < TextureImage[0]->sizeX*TextureImage[0]->sizeY ; i += 4) { if (PixelData[i] == r && PixelData[i+1] == g && PixelData[i+2] == b) { // Make pixel transparent PixelData[i+3] = 0; } else { // Make pixel opaque //PixelData[i+3] = 255; } } } mTextureID = (UINT) TexId;//textures[0]; mImageWidth = TextureImage[0]->sizeX; mImageHeight = TextureImage[0]->sizeY; glBindTexture(GL_TEXTURE_2D, mTextureID); glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, PixelData); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); } if (TextureImage[0]) // If Texture Exists { if (TextureImage[0]->data) // If Texture Image Exists { free(TextureImage[0]->data); // Free The Texture Image Memory } free(TextureImage[0]); // Free The Image Structure } }
  8. hi, can anyone tell me what are the reasons if texture get loads and it shows White color all over instead of the real picture??? I am new in opengl so please guide me what to do , as i am having this problem. Path to the bmp is fine and correct and texture is also being created successfully just when i try to display the screen it shows me complete white color. If i stop the lighting then it shows me nothing but a dark color picture on black background. regards
  9. hi i have worked much in dx, but opengl is new for me. Can you experts tell me what is the best way to have a very simple 3d object or model in the game? should i create 3d character sprite and paste it in some sort of mash ...?? charcater would be very simple. thanks in advance regards
  10. hi, I am creating a game i dont know how could i achieve the below targets. Overview: There is one big circle exist in the middle of the screen, that circle needs to be covered by 5 small circles. If all small circle accurately cover the whole BIG circle and doesnt let any part naked then user will get high score. If he couldnt cover the whole BIG circle with small circles then player will get low score. Problem: 1)I dont know by which method i can calculate that how much part of the BIG circle is still visible. 2) I need to do 2d graphic techniew to calculate the areas of all circles. 3) Any formula or site for this kind of information??? please kindly guide me what to do?? Regards
  11. hi, I need to know what is overdraw problem in 2d games?? and how to overcome on these kinds of problems??? please guide me regards
  12. timeline of EverQuest

    Quote:Original post by sirob That depends on the team size and the amount of experience the team members have. For an unexperienced small team, it would most likely take years. For an experienced large team, it would probably take more than a year. If you plan at doing this alone, I can't say I see you ever finishing it, even if you use Torque. Hope this helps. tell me how much big team i required for unexperiance one (who never worked before on MMORPG)? if you have any guidelines which can help me for its development then please let me know. My assumptions of the current project are. Time frame: 1 year and 10 months aprox (day night work) Team: minimum 17 members Programmers: 7 3d CG artists: 4 Sketch Artists: 2 Sound engineers: 2 Game designer(Architecture):2 what u say???
  13. timeline of EverQuest

    Quote:Original post by xycsoscyx I think you really need to clarify your question (and thread topic) because it's a bit ambigious. Do you mean to ask "How long does a title like Everquest take to develop"? That's completely different than what you seem to be asking (it sounds like you're actually asking about the timeline of the game story itself). Games like Everquest took much longer (I assume, I haven't read many of the tech info about it) than two years to develop, you have to consider huge databases to be able to track everything and keep the worlds alive, above and beyond graphics, input, gameplay, art, etc. As for the second part, what do you mean "where technologies will be DirectX9..."? I honestly am confused by this, do you mean to ask "If you start with GenericAPI(vX), then two years later finish when GenericAPI(vZ) is out, do you just stay with vX, or try to upgrade to vZ"? I think, for a large scale commercial project, you start with what you have available, and work from there. If the engine is open ended enough that you can fit in the lately technologies later down the line, all the better, but a good game engine should be more than just the technologies driving it. It shouldn't matter if you are a year behind in graphics or physics, because the engine itself still delivers. Thanks for the reply, well yeah i was asking how much long the development time require for any a game like "everquest" or "Warhammer". But i am asking for the PC base game which will run on Windows including DirectX9 as the graphic technology. Even if i would include this Torque engine then will this addition can less the development time or not...that was the question which i was trying to ask . :)
  14. timeline of EverQuest

    i would like to know what could be the main timeline of the game like EverQuest or Warhammer (MMORPG) games? would it be 2 years 3 years ?? where technologies will be DirectX9, and torque or anyother engine, VC++6 . thanks in advance regards
  15. i have create a simple program that contains a box with texture, when i move far away from the box then everything works smooth but as i come near to the model box , my movement became stucky, i think fps gets too much low at that time... why is this happening ? is there anyway to make it fine? below is my source // Gl_Engine.cpp: implementation of the Gl_Engine class. // ////////////////////////////////////////////////////////////////////// #include "Gl_Engine.h" #include <stdio.h> #include <math.h> ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// Gl_Engine::Gl_Engine() { m_hRC=NULL; m_RotDeg =m_RotDeg2 = 10; } Gl_Engine::~Gl_Engine() { } int Gl_Engine::InitGL(GLvoid) { // Enables Smooth Shading glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // Black Background glClearDepth(1.0f); // Depth Buffer Setup glEnable(GL_DEPTH_TEST); // Enables Depth Testing glDepthFunc(GL_LESS); // The Type Of Depth Test To Do glShadeModel(GL_SMOOTH); glEnable(GL_TEXTURE_2D); // Enable Texture Mapping ( NEW ) glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Really Nice Perspective Calculations StrArray tmpvar; tmpvar.push_back("C:\\Kasamba clinets\\OpenGlScene\\Textures\\NeHe.bmp"); LoadTexture(tmpvar); //AddLight(); return TRUE; // Initialization Went OK } int Gl_Engine::DrawGLScene(GLvoid) // Here's Where We Do All The Drawing { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear The Screen And The Depth Buffer // glDisable(GL_LIGHTING); glLoadIdentity(); // Reset The Current Modelview Matrix RotateWorldObjects(); SetWorldObjectDirection(); // Reset The Current Modelview Matrix Build3dHouse(); //Sleep(30); return TRUE; // Everything Went OK } int Gl_Engine::CreateGlContext(HDC &r_hdc) { if (!(m_hRC=wglCreateContext(r_hdc))) // Are We Able To Get A Rendering Context? { MessageBox(NULL,"Can't Create A GL Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } if(!wglMakeCurrent(r_hdc,m_hRC)) // Try To Activate The Rendering Context { MessageBox(NULL,"Can't Activate The GL Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } return TRUE; } void Gl_Engine::CloseGl_Engine() { if (!wglMakeCurrent(NULL,NULL)) // Are We Able To Release The DC And RC Contexts? { MessageBox(NULL,"Release Of DC And RC Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION); } if (!wglDeleteContext(m_hRC)) // Are We Able To Delete The RC? { MessageBox(NULL,"Release Rendering Context Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION); } this->m_hRC=NULL; } void Gl_Engine::ReSizeGLScene(GLsizei width, GLsizei height) // Resize And Initialize The GL Window { if (height==0) // Prevent A Divide By Zero By { height=1; // Making Height Equal One } glViewport(0, 0, width, height); // Reset The Current Viewport glMatrixMode(GL_PROJECTION); // Select The Projection Matrix glLoadIdentity(); // Reset The Projection Matrix // Calculate The Aspect Ratio Of The Window gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f); glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix glLoadIdentity(); // Reset The Modelview Matrix } int Gl_Engine::LoadTexture(StrArray strFileNames) { int iSize = strFileNames.size(); if(iSize<1) { return 0; } memset(TextureImage,0,sizeof(void *)*10); // for(int Loop=0; Loop<iSize; Loop++) { if(LoadBMPS((char*)strFileNames[Loop].c_str(),TextureImage[0])==FALSE) { string strTmp = "Problem in loading file from "; strTmp+=strFileNames[Loop].c_str(); MessageBox(NULL,strTmp.c_str(),"Error",MB_OK); } glGenTextures(iSize, &m_Texture[Loop]); // Create The Texture // Typical Texture Generation Using Data From The Bitmap glBindTexture(GL_TEXTURE_2D, m_Texture[Loop]); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); // Linear Filtering glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); // Linear Filtering glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[Loop]->sizeX, TextureImage[Loop]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[Loop]->data); /* glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST); gluBuild2DMipmaps(GL_TEXTURE_2D, 3, TextureImage[Loop]->sizeX, TextureImage[Loop]->sizeY, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[Loop]->data); */ } for(int Loop2=0; Loop2<iSize; Loop2++) { if (TextureImage[Loop2]) // If Texture Exists { if (TextureImage[Loop2]->data) // If Texture Image Exists { free(TextureImage[Loop2]->data); // Free The Texture Image Memory } free(TextureImage[Loop2]); // Free The Image Structure } } return 1; } BOOL Gl_Engine::LoadBMPS(char *szFileName, AUX_RGBImageRec *&r_RGBrec) { FILE *pfile=NULL; if(!szFileName) { return FALSE; } pfile= fopen(szFileName,"r"); if(!pfile) { return FALSE; } else { fclose(pfile); //it was just used to check it if file exist or not AUX_RGBImageRec *Tmp_RGBrec= auxDIBImageLoad(szFileName); r_RGBrec= Tmp_RGBrec; } return TRUE; } int Gl_Engine::AddLight() { GLfloat fLightAmb[]={0.5f,0.5f,0.5f,1.0f}; GLfloat fLightDiffuse[]={1.0f,1.0f,1.0f,1.0f}; GLfloat fLightPosition[]={0.0f,0.0f,2.0f,0.0f}; glLightfv(GL_LIGHT1,GL_AMBIENT,fLightAmb); glLightfv(GL_LIGHT1,GL_DIFFUSE,fLightDiffuse); glLightfv(GL_LIGHT1,GL_POSITION,fLightPosition); glEnable(GL_LIGHTING); glEnable(GL_LIGHT1); return 1; } void Gl_Engine::CameraMoveLeft() { m_Camera.fYRot += 1.5f; } void Gl_Engine::CameraMoveRight() { m_Camera.fYRot -= 1.5f; } void Gl_Engine::CameraMoveForward() { float fRad = PIOVER; m_Camera.fX -= (float)sin(m_Camera.fYRot * fRad) * 1.05f; m_Camera.fZ -= (float)cos(m_Camera.fYRot * fRad) * 1.05f; } void Gl_Engine::CameraMoveBackward() { float fRad = PIOVER; m_Camera.fX += (float)sin(m_Camera.fYRot * fRad) * 1.05f; m_Camera.fZ += (float)cos(m_Camera.fYRot * fRad) * 1.05f; } void Gl_Engine::RotateWorldObjects() { GLfloat sceneroty = 360.0f - m_Camera.fYRot; glRotatef(sceneroty,0,1.0f,0); } void Gl_Engine::SetWorldObjectDirection() { GLfloat worldx,worldy,worldz; worldx= -m_Camera.fX; worldz = -m_Camera.fZ; worldy = -0.25f; glTranslatef(worldx,worldy,worldz); } void Gl_Engine::Build3dHouse() { //it is necessary to off the debth buffer for blending effects glColor4f(1.0f,1.0f,1.0f,0.5f); //Blend the object glTranslatef(0.5f,0.0f,0.0f); // Move Right 3 Units //glRotatef(m_RotDeg2--,0.0f,1.0f,0.0f); glBindTexture(GL_TEXTURE_2D, m_Texture[0]); // Select Our Texture glBegin(GL_QUADS); // Draw A Quad //Front. glNormal3f(0.0f,0.0f,1.0f); glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f, 1.0f); // Bottom Left Of The Texture and Quad glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f, 1.0f); // Bottom Right Of The Texture and Quad glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f, 1.0f, 1.0f); // Top Right Of The Texture and Quad glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f, 1.0f, 1.0f); // Top Left Of The Texture and Quad // Back Face glNormal3f(0.0f,0.0f,-1.0f); glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f, -1.0f); // Bottom Right Of The Texture andQuad glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f, 1.0f, -1.0f); // Top Right Of The Texture and Quad glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f, 1.0f, -1.0f); // Top Left Of The Texture and Quad glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f, -1.0f); // Bottom Left Of The Texture and Quad // Top Face glNormal3f(0.0f,1.0f,0.0f); glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f, 1.0f, -1.0f); // Top Left Of The Texture and Quad glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, 1.0f, 1.0f); // Bottom Left Of The Texture and Quad glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, 1.0f, 1.0f); // Bottom Right Of The Texture and Quad glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f, 1.0f, -1.0f); // Top Right Of The Texture and Quad // Bottom Face glNormal3f(0.0f,1.0f,0.0f); glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f, -1.0f, -1.0f); // Top Right Of The Texture and Quad glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f, -1.0f, -1.0f); // Top Left Of The Texture and Quad glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f, 1.0f); // Bottom Left Of The Texture and Quad glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f, 1.0f); // Bottom Right Of The Texture and Quad // Right face glNormal3f(1.0f,0.0f,0.0f); glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f, -1.0f); // Bottom Right Of The Texture and Quad glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f, 1.0f, -1.0f); // Top Right Of The Texture and Quad glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f, 1.0f, 1.0f); // Top Left Of The Texture and Quad glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f, 1.0f); // Bottom Left Of The Texture and Quad // Left Face glNormal3f(-1.0f,0.0f,0.0f); glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f, -1.0f); // Bottom Left Of The Texture and Quad glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f, 1.0f); // Bottom Right Of The Texture and Quad glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f, 1.0f, 1.0f); // Top Right Of The Texture and Quad glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f, 1.0f, -1.0f); // Top Left Of The Texture and Quad glEnd(); // glDisable(GL_TEXTURE_2D); // Enable Texture Mapping ( NEW ) }