Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - martiño

Pages: 1 ... 29 30 31 32 [33] 34
801
General discussion /
« on: 2 June 2004, 16:38:43 »
Yes, I'm sorry but you won't be able to play glest with this OpenGL specs, have you tried downloading your latest video card drivers? If the card supports this extensions, recent drivers may upgrade your OpenGL to a more recent version...

802
General discussion /
« on: 1 June 2004, 20:27:30 »
You are not right, Glest requires OpenGL 1.3 and the extension GL_ARB_texture_env_crossbar (or OpenGL 1.4).

If Glest says that your system doesn't support OpenGL 1.3 is that the version string returned by your 3D card is under 1.3.

The OpenGL extensions viewer in the first tab shows versions based on the extensions supported (it tells me that my card supports GL 2.0 and it doesn't exist yet), and it doesn't check all extensions (i.e. for OpenGL 1.1 it only checks 2 extensions and there are much more as you can see in the OpenGL specification), but the real version of OpenGL is shown on the second tab of the OpenGL extensions viewer.

Please tell me what GL version is displayed on the second tab as shown in this image:

 

803
General discussion /
« on: 31 May 2004, 20:26:16 »
The problem is that gf2 cards dont support 3d textures, so just disable them in the config menu. (you can also edit glest.ini as jjejj87 says but we added this option to the menu on v0.7.1 so its easier to change).

See "3d card tips" topic for further info.

804
General discussion /
« on: 29 May 2004, 13:22:58 »
We know that the interface needs some work, and we need some time...

805
Mods /
« on: 27 May 2004, 16:12:25 »
I don't know, just try.

806
General discussion /
« on: 27 May 2004, 16:11:20 »
Hi thanx for you words, and no, I don't use gluProject() or gluUnProject(), because you don't have do to any screen/world conversions, gluPickMatrix() receives screen coords as you can see in the code (posDown and posUp are in screen coords).

807
General discussion /
« on: 26 May 2004, 20:39:36 »
You are wrong, you can do group selection with gluPuckMatrix(), in the same manner as individual selection, but you have to pass to this funcion the size and position of the selection rectangle. Then you render your objects as usual with perspective, and check the selection buffer.

Here is the code I use for selection in glest:

Code: [Select]

void Renderer::computeSelected(Selection::UnitContainer &units){

//declarations
GLuint selectBuffer[GuiManager::maxSelBuff];
const Metrics &metrics= Metrics::getInstance();
const GuiManager *guiManager= game->getGuiManager();

//compute center and dimensions of selection rectangle
int x= (guiManager->getPosDown().x+guiManager->getPosUp().x) / 2;
int y= (guiManager->getPosDown().y+guiManager->getPosUp().y) / 2;
int w= abs(guiManager->getPosDown().x-guiManager->getPosUp().x);
int h= abs(guiManager->getPosDown().y-guiManager->getPosUp().y);
if(w<1) w=1;
if(h<1) h=1;

//setup matrices
glSelectBuffer(GuiManager::maxSelBuff, selectBuffer);
glMatrixMode(GL_PROJECTION);
glPushMatrix();
GLint view[]= {0, 0, metrics.getVirtualW(), metrics.getVirtualH()};
glRenderMode(GL_SELECT);
glLoadIdentity();
gluPickMatrix(x, y, w, h, view);
gluPerspective(perspFov, metrics.getAspectRatio(), perspNearPlane, perspFarPlane);
loadGameCameraMatrix();

//render units
renderUnitsFast();

//pop matrices
glMatrixMode(GL_PROJECTION);
glPopMatrix();

//select units
int selCount= glRenderMode(GL_RENDER);
for(int i=1; i<=selCount; ++i){
int factionIndex= selectBuffer[i*5-2];
int unitIndex= selectBuffer[i*5-1];
const World *world= game->getWorld();
if(factionIndex<world->getFactionCount() && unitIndex<world->getFaction(factionIndex)->getUnitCount()){
Unit *unit= world->getFaction(factionIndex)->getUnit(unitIndex);
units.push_back(unit);
}
}
}

808
General discussion / glest.ini options explained
« on: 26 May 2004, 17:01:27 »
This is an explaination of glest.ini options, values listed here are the defaults for version 0.7.1.


AiLog=0

Enables AI logging, 0 means log is disabled, higher values enable more log  messages.

AiRedir=0

Redirects AI log to console. 0=No, 1=Yes

CameraFps=100

Internal framerate of camera calculations.

ChangeDisplay=1

1=Fullscreen, 0=Windowed

ColorBits=32

Framebuffer color bits. Don't change this.

ConsoleMaxLines=10

Max number of messages in the console

ConsoleTimeout=1

Seconds before a console message dissapears

DayTime=1000

Speed of day/night cycle, in seconds.

DebugMode=0

When enabled some usefull info is diaplayed on the screen (such as fps)

DepthBits=32

Depth buffer bits. For nvidia cards 24 is enough but 32 is recomended for ATI.

Filter=Bilinear

Selects from Bilinear and Trilinear filter.

FilterMaxAnisotropy=1

Anisotropic filtering. 1=Disabled, 2, 4, or 8 enable anisotropic filtering.

FocusArrows=1

Draws arrows for units one is selected.

FogOfWar=1

Enables disables fog of war.

FogOfWarSmoothing=1

Enables or disables fog of war smoothing.

FogOfWarSmoothingFrameSkip=3

Frame skip for fog of war smoothing.

GameMusic=music_a.ogg

Default music.

Lang=english.lng

Default language.

MaxLights=4

Max number of dynamic lights.

PathFindLevelsMax=400

Max number of pathfind levels, higher values result in better pathfinding and slower performance.

PhotoMode=0

Disables camera constraints.

RefreshFrequency=75

Refresh frequency when changing display mode.

ScreenHeight=768

X size of the screen

ScreenWidth=1024

Y size of the screen.

ShadowMapAlpha=0.05

Transparency of shadow map shadows.

ShadowMapFrameSkip=3

Frameskip for shadows.

ShadowMapSize=256

Size of shadow maps, must be a power of 2 but always under the screen size, higher values result in more accurate shadows and slower performance.

Shadows=ShadowMapLike

Shadow mode: Disabled, ShadowMapLike or ShadowVolumes. Starting from 0.7.1 shadow volumes can not be enabled in the in-game menu, so mofying glest.ini is the only way of enabling shadow volumes. If you want to do so you will also have to change the StencilBits option to 8 or 16

SoundStaticBuffers=8

Voices for FX sounds.

SoundStreamingBuffers=4

Number of streaming buffers.

SoundVolumeAmbient=65

Ambient volume.

SoundVolumeFx=85

FX volume.

SoundVolumeMusic=80

Music volume.

StencilBits=0

Sntencil buffer bits, should be 0 unless you want to use shadow volumes that must be 8 or 16.

Textures3D=1

Enable/disable 3D textures.

UpdateFps=40

World update frame rate. Higher rates smoother animations and slower performance.

809
Mods /
« on: 26 May 2004, 16:39:01 »
Just delete all the upgrades inside the folder but not the Upgrades folder itself.

810
General discussion /
« on: 25 May 2004, 22:16:42 »
No, this time the release is already done and there will be no delays.

811
General discussion / Version 0.7.1 coming soon
« on: 24 May 2004, 20:20:52 »
We are working on version 0.7.1 that will fix some bugs discovered in 0.7.0 as well as some improvements regarding 3D textures. We are also trying to compress music at a lower rate to reduce the size of the game. It will be available before the end of this week.

812
General discussion /
« on: 22 May 2004, 17:00:46 »
Well I think there is not enough people to make another forum, if you have any questions about developing a game with glest you can post them in this board.

813
Mods /
« on: 21 May 2004, 21:14:50 »
That's because glest uses for model color tue current diffuse color of the material, if the object has no material models are shown in white

814
Mods /
« on: 21 May 2004, 18:19:24 »
Glest doesn't try to load the archer textures, glest loads the textures in your model, if your model has no textures, it will be displayed without them.

815
General discussion /
« on: 21 May 2004, 17:28:45 »
I understand some german and it seems that you are having problems with 3D Textures. Replace the line Textures3D=1 by Textures3D=0 in the glest.ini file.

816
General discussion / German translation
« on: 19 May 2004, 17:10:32 »
Thanx to PyroFish for sending us a german translation for the game. We have posted it in the additional downloads section. http://http://www.glest.org/files/additional/deutsch_0.7.0.zip
To install it just place the deutsch.lng file under your glest/data/lang folder.

817
Mods /
« on: 18 May 2004, 22:21:08 »
What I wanted to say is that our priority now is to finish the two factions of the game (that would be version 1.0.0). Once we've acomplished that goal we will see what we do.

818
Mods /
« on: 18 May 2004, 22:11:09 »
No, I don't say that

819
Mods /
« on: 18 May 2004, 22:07:13 »
Maybe you are right, we have lots of things to do :)

820
Mods /
« on: 18 May 2004, 22:02:20 »
No, sorry, you can't, al least by now, we will work on the menu interface someday.

821
General discussion / Glest Video Card compatibility list
« on: 18 May 2004, 21:57:06 »
This is a 3D card compatibility list for Glest, please tell us what 3D card do you have, the driver and game version, and if you can run the game without problems.

Card: GeForce FX 5700
Game version: 1.2.1
Driver version: 52.16
OS: Windows XP
Status: Ok
       
Card: GeForce 2 MX
Game version: 1.2.1
Status: 3D textures slow (3D textures can be disabled with the Textures3D=0 option on glest.ini)

Card: ATI Radeon 9600
Game version: 1.2.1
Driver version: Catalyst 4.4
OS: Windows XP
Status: Ok

Card: ATI Radeon 9200
Game version: 1.2.1
Driver version: Catalyst 4.3
OS: Windows 2000
Status: Ok

822
General discussion /
« on: 18 May 2004, 21:24:03 »
many commercial games (such as UT2004), use OGG, and sound quality is the same (if not better) as in MP3 at the same bitrates :)

823
General discussion /
« on: 18 May 2004, 21:19:06 »
You are free to make a GMAX plugin, please read the thread I've posted with the G3D format spec (with sample source code)

824
Mods / G3Dv3 File format spec
« on: 18 May 2004, 21:07:47 »
WARNING: this spec is for G3Dv3 Glest now uses G3Dv4, please take a look to model_header.h and model.h/cpp to know about G3Dv4. I will probabbly update this spec soon for G3Dv4.

Many people is asking us for plugins/converters for non-3dsmax platforms. We don't have the time to spend in this task, so that's we decided to publish the G3D spec. That way anyone can make its own plugins/converters. If anyone needs further explainations use this board, or mail us to: theproject 'at' glest 'dot' org

This is a spec for G3D (Glest 3D) file format, this spec will be included in future versions of the Glest Editor Pack.

G3D (Glest 3D) version 3 file format specificacion. v0.1.

1. DATA TYPES
================

G3D files use the following data types:

uint8: 8 bit unsigned int
uint32: 32 bit unsigned int
float32: 32 bit float

2. MODEL HEADER
===============

Every g3d file starts by a model header:

struct ModelHeader{
   uint8 id[3];
   uint8 version;
   uint32 meshCount;
};

id: identifier, must be be "g3d"
version: g3d file version, must be 3 (not '3')
meshCount: the number of meshes in the model

3. MESHES
===============

After the model header they come the meshes, each mesh has it's own header:

struct MeshHeader{
   uint32 vertexFrameCount;
   uint32 normalFrameCount;
   uint32 texCoordFrameCount;
   uint32 colorFrameCount;
   uint32 pointCount;
   uint32 indexCount;
   uint32 properties;
   uint8 texName[64];
};

vertexFrameCount: number of vertex frames in the mesh
normalFrameCount: number of normal frames in the mesh, this value has to be 0, 1, or the same as vertexFrameCount
texCoordFrameCount: number of texture coordinate frames in the mesh, this value has to be 0, 1, or the same as vertexFrameCount
colorFrameCount: number of color frames in the mesh, this value has to be 1, or the same as vertexFrameCount
pointCount: number of vertices per frame
indexCount: number of indices in the mesh
properties: additional properties of the mesh:

enum MeshProperty{
   mpNoTexture= 1,
   mpTwoSided= 2,
   mpCustomTexture= 4
};

mpNotexture: this mesh has not a texture
mpTwoSided: this mesh is two sided
mpCustomTexture: replace alpha in the texture by a custom texture (user for faction colors)


texName: texture file (in tga format), path is relative to this file path

After each mesh is comes the mesh data:

vertices: vertexFrameCount * pointCount * 3, float32 values representing the x, y, z vertex coords for all frames
normals: normalFrameCount * pointCount * 3, float32 values representing the x, y, z normal coords for all frames
texture coords: texCoordFrameCount * pointCount * 2, float32 values representing the s, t tex coords for all frames
colors: colorFrameCount * 4, float32 valuesrepresenting the r, g, b, a coords for all frames
indices: indexCount, uint32 values representing the indices


4. EXAMPLES
===============

Here is the C++ code for saving a G3D file:

//save a model to a g3d file
void Model::saveG3d(const string &path){
   
   FILE *f= fopen(path.c_str(), "wb");
   if(f==NULL){
      throw runtime_error("Can't open file for writting: "+path);
   }

   ModelHeader modelHeader;
   modelHeader.id[0]= 'G';
   modelHeader.id[1]= '3';
   modelHeader.id[2]= 'D';
   modelHeader.version= 3;
   modelHeader.meshCount= meshCount;

   string dir= cutLastFile(path);

   fwrite(&modelHeader, sizeof(ModelHeader), 1, f);
   for(int i=0; i<meshCount; ++i){
      meshes.save(dir, f);
   }

   fclose(f);
}

void Mesh::save(const string &dir, FILE *f){
   MeshHeader meshHeader;
   meshHeader.vertexFrameCount= vertexFrameCount;
   meshHeader.normalFrameCount= normalFrameCount;
   meshHeader.texCoordFrameCount= texCoordFrameCount;
   meshHeader.colorFrameCount= colorFrameCount;
   meshHeader.pointCount= pointCount;
   meshHeader.indexCount= indexCount;
   meshHeader.properties= 0;

   if(twoSided) meshHeader.properties|= mpTwoSided;
   if(customTexture) meshHeader.properties|= mpCustomTexture;

   if(texture==NULL){
      meshHeader.properties|= mpNoTexture;
      meshHeader.texName[0]= '\0';
   }
   else{
      strcpy(reinterpret_cast<char*>(meshHeader.texName), texName.c_str());
      texture->getPixmap()->saveTga(dir+"/"+texName);
   }
   
   fwrite(&meshHeader, sizeof(MeshHeader), 1, f);
   fwrite(vertices, sizeof(Vec3f)*vertexFrameCount*pointCount, 1, f);
   fwrite(normals, sizeof(Vec3f)*normalFrameCount*pointCount, 1, f);
   fwrite(texCoords, sizeof(Vec2f)*texCoordFrameCount*pointCount, 1, f);
   fwrite(colors, sizeof(Vec4f)*colorFrameCount, 1, f);
   fwrite(indices, sizeof(uint32)*indexCount, 1, f);
}

825
General discussion /
« on: 17 May 2004, 20:36:24 »
Glest can't be smaller. Textures aren't big, sound is about the 80% of the size  of the game. I have a 56k modem too and I have uploaded glest to the web more than 10 times.

Pages: 1 ... 29 30 31 32 [33] 34