Jump to content
Eternal Lands Official Forums

Xaphier

Members
  • Content count

    206
  • Joined

  • Last visited

Posts posted by Xaphier


  1. Looks like it is stable now, it is also in release candidate modus, with prebuild binraries. Would be nice if someone can help getting it into place for el, since than a full el client for android is not far away.


    1. Since the new 3d terrain works totally different, there is no automated conversion from 2d tile based ground to 3d. The new 3d terrain is also not a simple height map for displacing, it is a vector displacement, so overhangs are possible. The maps must all be hand converted because of that, since many small objects are no longer needed. The sources are freely aviable, for binary builds for windows it's best to ask Sir_Odie, since I am busy enough with the coding :P
    2. The old maps all work/can be loaded. The new map format has support for multiple tile levels etc. and there is automatic conversion implemented, so old maps work without problem.


  2. Thanks for all the testing.

    1. The new IP is only for testing, the walk map is not working, so strange walking stuff has to be expected.
    2. The animation of the tree is not final and has some side effects ;)
    3. I think I found and fixed the multi threading bug.
    4. I still don't know why always OpenMP is used :(


  3. Porting from OpenGL to OpenGL ES is not trivial. First, you need different function for context creation. Second, only using OpenGL ES 2.0 or newer is a wise move for el, because the similarities between OpenGL 2.x/3.x and OpenGL ES 2/3 are big enough to make the game look similar. The problem is, OpenGL ES 2.0 does not support any fixed function stuff, so all old OpenGL 1.x stuff needs to go. For the el2 client, this is done for nearly all 3d parts, only the sky is not ported, but will be done hopefully soon ;)

    The GUI and the font rendering need a total rewrite to work for OpenGL 3.1+ core profiles or OpenGL ES 2.x and this is some work, but I don't know when I have time for that.

    So, it is unlikely that there will be an el client for OpenGL ES this year


  4. I made a small patch for SDL-1.2.15 so it creates and OpenGL 3.3 debug context (or a normal OpenGL context if it fails with the other one). The debug context is useful, because you can use GL_ARB_debug_output (the el 2 client use it) to get much better OpenGL errors.

     

    diff -dur src-orig/video/x11/SDL_x11gl.c src/video/x11/SDL_x11gl.c
    --- src-orig/video/x11/SDL_x11gl.c 2012-01-19 07:30:06.000000000 +0100
    +++ src/video/x11/SDL_x11gl.c 2012-06-07 22:11:20.942600730 +0200
    @@ -264,10 +264,52 @@
    #if SDL_VIDEO_OPENGL_GLX
    
     /* We do this to create a clean separation between X and GLX errors. */
    - XSync( SDL_Display, False );
    - glx_context = this->gl_data->glXCreateContext(GFX_Display,
    -		 glx_visualinfo, NULL, True);
    - XSync( GFX_Display, False );
    + XSync(SDL_Display, False);
    +
    + GLXContext temp_context = this->gl_data->glXCreateContext(GFX_Display, glx_visualinfo, NULL, True);
    +
    + if (!temp_context)
    + {
    +  SDL_SetError("Could not create GL context");
    +  return(-1);
    + }
    + else
    + {
    +  int attribs[] = {
    +   GLX_CONTEXT_MAJOR_VERSION_ARB, 3,
    +   GLX_CONTEXT_MINOR_VERSION_ARB, 3,
    +   GLX_CONTEXT_PROFILE_MASK_ARB, GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB,
    +   GLX_CONTEXT_FLAGS_ARB, GLX_CONTEXT_DEBUG_BIT_ARB,
    +   0
    +  };
    +
    +  //Get a pointer to the context creation function for GL 3.0
    +  PFNGLXCREATECONTEXTATTRIBSARBPROC glXCreateContextAttribs = (PFNGLXCREATECONTEXTATTRIBSARBPROC)glXGetProcAddress((GLubyte*)"glXCreateContextAttribsARB");
    +  if (!glXCreateContextAttribs)
    +  {
    +   SDL_SetError("GL 3.x is not supported");
    +   glx_context = temp_context;
    +  }
    +  else
    +  {
    +   //Create a GL 3.0 context
    +   GLXFBConfig *framebuffer_config = NULL;
    +   int fbcount = 0;
    +   framebuffer_config = glXChooseFBConfig(GFX_Display, DefaultScreen(GFX_Display), NULL, &fbcount);
    +   if (!framebuffer_config)
    +   {
    +	SDL_SetError("No good framebuffers found. GL 3.0 disabled");
    +	glx_context = temp_context;
    +   }
    +   else
    +   {
    +	glx_context = glXCreateContextAttribs(GFX_Display, framebuffer_config[0], NULL, True, attribs);
    +	glXDestroyContext(GFX_Display, temp_context);
    +   }
    +  }
    + }
    +
    + XSync(SDL_Display, False);
    
     if ( glx_context == NULL ) {
      SDL_SetError("Could not create GL context");
    


  5. Hi,

    got new pc finally :

    Video card: AMD Radeon HD 6670

    Vendor ID: ATI Technologies Inc.

    OpenGL Version: 4.2.11631

     

    on Win os its running quite nicely but u still use opengl 3.3 as maximum version for now or do we get some extras in the stable version later on?

    Wanted to try linux version as well but still have to get it installed way to lazy for now.

     

    - the names and health-/mana bar is still dark purpose on still testing the shadow and light enviroment?

     

    cheers.

    The health-/mana bar & actor names are too dark, yes. I was not able to fix that, had also other stuff to fix with higher priority :). You can enable and than disable poor man every time you start the client as a work around for now.


  6. Hellow \o

     

    Is there a way to make something like:

     

    sudo Hello_My_Name_is_Alfred /please get-apt&install;OGL2-TestVersion /fromSynapticus-Magicus

     

    in a Linux Terminal and get the version installed without compiling by myself ?

     

    [Y]es

    [N]ot now but in a few days

    [D]amn if you are too noob to compile yourself, this version is not for you

    [L]illaka, this question is very pertinent. You are the Ying and Yang of the Unversalthinking of the whole Humankind. Lillaka for President :icon13:

    Hopefully option N & L in a few days

     

    Need help to test the Linux version?

    Short answer: yes :)


    • The el OpenGL 2 client loads data also from the el-config-dir/updates/data so you can place files there without mixing stuff with the normal el client. For *nix, this is ~/.elc/updates/data
    • The data files needed are in the repository in the dir data
    • Because the glm library had a few bugs, the version 0.9.3.2 is now needed
    • gcc-4.6 is tested and works, gcc-4.7 and clang 3.0/3.1 don't work. I hope to get that fixed. Fixed now, tested with gcc-4.7 and clang 3.1
    • send log files to: el.3d.source@googlemail.com


  7. This is the next test version of the el OpenGL 2 client. I won't bore you with technical details, if you are interested, just ask.

    Things that got changed or are new:

    • Terrain
    • Shadows
    • Animations

    I did my best to make it run on different systems, minimum OpenGL version needed is 2.1

    The sources are "Version 1.9.9.0 Alpha" tag, you can get them from here: https://github.com/x...rnal-Lands/tags

    There is a new map on the test server. With the el OpenGL 2 client, you will see the new terrain on it. To enter the map, go to the teleporter at IP 112,167

     

    Have fun trying


  8. Apitrace is a nice tool to trace and replay the OpenGL stream. It can help to simplify testing a lot, because it is possible to inspect the stream and replay it on a different system. That means we can test many OpenGL rendering features on different systems without the need of an el client & el client data.

     

    Anyone interested?

     

    Apitrace website: https://github.com/apitrace/apitrace/

    Windows binaries: https://github.com/a...trace/downloads

    Sources that are compatible to the windows binaries: https://github.com/a...e/apitrace/tags

     

    PS: An apitrace of the current OpenGL 2 el client with some grass (Needs OpenGL 3.3 this trace): http://dl.dropbox.com/u/25835928/el_client.trace.xz

×