Jump to content
  • Advertisement

Dannyli

Member
  • Content Count

    16
  • Joined

  • Last visited

Community Reputation

135 Neutral

About Dannyli

  • Rank
    Member
  1. Dannyli

    How to move object in Directx?

    can I use   g_pd3dDevice->SetViewport() ?
  2. in opengl, if I want move an object ,a box, I can type: glPushMatrix(); glTranslatef(x,y,z); drawBox(); glPopMatrix(); Can someone tell me how to do the same effect in Directx?
  3. Dannyli

    Tic tac toe on 5x5 board

    tic tac toe is in 3x3 Right?
  4. Dannyli

    texture problem

    can I use the function: glPushAttrib(); and glPopAttrib();?
  5. I use the following code to generate two textures: ter=Loadtexture("terrain.bmp",ter); cross=Loadtexture("cross.bmp",cross); but all the objects in the scence are bind with texture  cross=Loadtexture("cross.bmp",cross); can someone tell me why?
  6. Dannyli

    something about the Billboards

    you are right . thanks a lot
  7. I am a novice in the tree design. I have a question about the code : void baiscobj::ShowTree(float x,float z,float h,float s,int cactus) { glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_ALPHA_TEST); glAlphaFunc(GL_GREATER, 0); float mat[16]; glGetFloatv(GL_MODELVIEW_MATRIX, mat); vector3_t X(mat[0], mat[4], mat[8]); vector3_t Z(mat[1], mat[5], mat[9]); glBindTexture(GL_TEXTURE_2D, g_cactus[cactus]); vector3_t pos(x,0.0,-z); pos.y = GetHeight(x, -z) + h + s; glBegin(GL_QUADS); glTexCoord2f(0.0,0.0);glVertex3fv((pos+(X+Z)*-h).v);//left down glTexCoord2f(1.0,0.0);glVertex3fv((pos+(X-Z)* h).v);//up down glTexCoord2f(1.0,1.0);glVertex3fv((pos+(X+Z)* h).v);//up right glTexCoord2f(0.0,1.0);glVertex3fv((pos+(Z-X)* h).v);//left up glEnd(); glDisable(GL_ALPHA); glDisable(GL_BLEND); } why the line glVertex3fv((pos+(X+Z)*-h).v); can rotate the point? pos+(X+Z)*-h is a translation , isn't it?  
  8. Dannyli

    problem with load obj file

    I am using visual stdio 2010 the error appears at  void Loadobj(char*filename) { string line; ifstream objfile(filename); if(objfile.is_open()) { while(!objfile.eof()) { getline(objfile,line); if(line.c_str()[0]=='v') { float tmpx,tmpy,tmpz; sscanf(line.c_str(),"v %f %f %f",&tmpx,&tmpy,&tmpz); v.push_back(vertex(tmpx,tmpy,tmpz)); } if(line.c_str()[0]=='f') { int a,b,c,d; sscanf(line.c_str(),"f %d//%d %d//%d %d//%d",&a,&b,&c,&b,&d,&b); f.push_back(face(a,c,d)); } } } } because I only use this function
  9. Dannyli

    problem with load obj file

    And I also get warning that I can't use "sscanf" how to  fix this problem??
  10. I try to load the obj file to the opengl but the system crash, I tested My code in console system: #include <iostream> #include <string> #include <vector> #include <fstream> #include <ostream> #include <algorithm> #include <Windows.h> using namespace std; class vertex {public: float f1; float f2; float f3; vertex(float F1,float F2, float F3):f1(F1),f2(F2),f3(F3){}; };//the vertex class face{ public: int a; int b; int c; int d; bool four; face(int x,int y,int z):a(x),b(y),c(z){four =false;}; face(int x,int y,int z,int k):a(x),b(y),c(z),d(k){four =true;}; }; vector<vertex>v; vector<face>f; void loadvertex(char*filename){ ifstream infile(filename); ofstream outfile("out.txt"); float f1,f2,f3; char buffer; if(!infile.is_open()) {return; } while(infile>>buffer>>f1>>f2>>f3){ if(buffer=='v') {outfile<<f1<<" "<<f2<<" "<<f3<<endl; cout<<f1<<" "<<f2<<" "<<f3<<endl; v.push_back(vertex(f1,f2,f3));} } infile.close(); outfile.close(); } void loadface(char*filename){ ifstream infile(filename); ofstream outfile("out.txt"); int f1,f2,f3; char buffer; if(!infile.is_open()) {return; } while(infile>>buffer>>f1>>f2>>f3){ if(buffer=='f'){ outfile<<f1<<" "<<f2<<" "<<f3<<endl; cout<<f1<<" "<<f2<<" "<<f3<<endl; f.push_back( face(f1,f2,f3)); } } infile.close(); outfile.close(); } void Loadobj(char*filename) { string line; ifstream objfile(filename); if(objfile.is_open()) { while(!objfile.eof()) { getline(objfile,line); if(line.c_str()[0]=='v') { float tmpx,tmpy,tmpz; sscanf(line.c_str(),"v %f %f %f",&tmpx,&tmpy,&tmpz); v.push_back(vertex(tmpx,tmpy,tmpz)); } if(line.c_str()[0]=='f') { int a,b,c,d; sscanf(line.c_str(),"f %d//%d %d//%d %d//%d",&a,&b,&c,&b,&d,&b); f.push_back(face(a,c,d)); } } } } int main(){ Loadobj("cube.txt"); for(int i=0;i<f.size();i++) { float F1=v[f[i].a-1].f1; float F2=v[f[i].a-1].f2; float F3=v[f[i].a-1].f3; cout<<F1<<"--"<<F2<<"--"<<F3<<endl; } system("pause"); return 0; } the obj file:   # Blender3D v249 OBJ File:  # www.blender3d.org v 1.000000 1.000000 -1.000000 v 1.000000 -1.000000 -1.000000 v -1.000000 -1.000000 -1.000000 v -1.000000 1.000000 -1.000000 v 1.000000 0.999999 1.000000 v 0.999999 -1.000001 1.000000 v -1.000000 -1.000000 1.000000 v -1.000000 1.000000 1.000000 vn 0.000000 1.000000 0.000000 vn -1.000000 0.000000 -0.000000 vn -0.000000 -1.000000 -0.000000 vn 1.000000 0.000000 -0.000000 vn 1.000000 -0.000001 0.000000 vn 0.000000 0.000000 1.000000 vn 0.000000 0.000000 -1.000000 usemtl Material s off f 5//1 1//1 4//1 f 5//1 4//1 8//1 f 3//2 7//2 8//2 f 3//2 8//2 4//2 f 2//3 6//3 3//3 f 6//3 7//3 3//3 f 1//4 5//4 2//4 f 5//5 6//5 2//5 f 5//6 8//6 6//6 // the error shows that: ... if (longone) //                                    *(long UNALIGNED *)pointer = (unsigned long)number;   //                             else...
  11. void texload(int i,char *filename) { BITMAPINFOHEADER bitmapInfoHeader; unsigned char* bitmapData; bitmapData = LoadBitmapFile(filename, &bitmapInfoHeader); glBindTexture(GL_TEXTURE_2D, texture); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);//filter glTexImage2D(GL_TEXTURE_2D, 0,GL_RGB,bitmapInfoHeader.biWidth,bitmapInfoHeader.biHeight,0,GL_RGB,GL_UNSIGNED_BYTE,bitmapData); }     The compiler throw out exception on the line glTexImage2D(GL_TEXTURE_2D, 0,GL_RGB,bitmapInfoHeader.biWidth,bitmapInfoHeader.biHeight,0,GL_RGB,GL_UNSIGNED_BYTE,bitmapData);   My BMP file is 252x255, is that too big for my function?
  12. Dannyli

    vertice array

    Thanks for help, I've figured them out.
  13. Dannyli

    vertice array

    So this sample draw a triangle with three color points, or a blending color triangle? HRESULT InitVB() { //user's data of the points CUSTOMVERTEX vertices[] = { { 100.0f, 400.0f, 0.5f, 1.0f, 0xffff0000, }, { 300.0f, 50.0f, 0.5f, 1.0f, 0xff00ff00, }, { 500.0f, 400.0f, 0.5f, 1.0f, 0xff0000ff, }, }; //creat the point buffer area if( FAILED( g_pd3dDevice->CreateVertexBuffer( 3*sizeof(CUSTOMVERTEX), 0, D3DFVF_CUSTOMVERTEX, D3DPOOL_DEFAULT, &g_pVB, NULL ) ) ) { return E_FAIL; } //blend VOID* pVertices; if( FAILED( g_pVB->Lock( 0, sizeof(vertices), (void**)&pVertices, 0 ) ) ) return E_FAIL; memcpy( pVertices, vertices, sizeof(vertices) ); g_pVB->Unlock(); return S_OK; }
  14. Dannyli

    vertice array

    CUSTOMVERTEX vertices[] = { { 100.0f, 400.0f, 0.5f, 1.0f, 0xffff0000, }, { 300.0f, 50.0f, 0.5f, 1.0f, 0xff00ff00, }, { 500.0f, 400.0f, 0.5f, 1.0f, 0xff0000ff, }, };   what means "  0xffff0000?" ?    I know 100.0f, 400.0f, 0.5f, 1.0f, means the point
  15. I use the tutotial of the object loading on the opengl and I got the error as below on the Visual studio 2010 1>jpeg.lib(jerror.obj) : error LNK2019: unresolved external symbol __iob referenced in function _output_message how to fixed it?
  • 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!