Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
02.10.2001, 21:46
Basiror



ich hoffe ich findet daran gefallen

--

Basiror's Labs Game-Development page

Hifle in form von Tutorials, Artikeln und anderem wird dankbar angenommen

zum Seitenanfang zum Seitenende Profil || Suche
001
02.10.2001, 21:47
Basiror



http://www.thewall.de/coding/index.php?tutorial=1&id=60

--

Basiror's Labs Game-Development page

Hifle in form von Tutorials, Artikeln und anderem wird dankbar angenommen

zum Seitenanfang zum Seitenende Profil || Suche
002
02.10.2001, 22:06
Basiror



Dieses Tutorial baut auf dem triapi fog auf. Wie allgemein bekannt sein sollte läuft OGL Nebel nicht unter D3D,
also hab ich mir folgendes überlegt:

Als erstes müssen wir uns einen Cvar erstellen mit dem der Spieler angeben kann ober er OGL oder D3d benutzt
Dazu geht in die input.cpp und sucht nach folgendem:

cvar_t *cl_vsmoothing;

und fügt dies ein

cvar_t *cl_rendermode;

dann such nach

cl_pitchdown = gEngfuncs.pfnRegisterVariable ( "cl_pitchdown", "89", 0 );

und fügt wieder ein

cl_rendermode = gEngfuncs.pfnRegisterVariable ( "cl_rendermode", "0", FCVAR_ARCHIVE );//1=D3D 0=OGL

Ok dann ab in die Tri.cpp und added diesen Block ganz am Anfang

#include <windows.h> // Header File For Windows
#include <gl\gl.h> // Header File For The OpenGL32 Library
#include <gl\glu.h> // Header File For The GLu32 Library
#include "r_studioint.h"
extern engine_studio_api_t IEngineStudio;
extern cvar_t *cl_rendermode;

Nun geht ihr in die Einstellungen eures Client.dll Workspace unter Linker und fügt diese libs ein

opengl32.lib glu32.lib glaux.lib

Anschliessend replaced ihr den inhalt der void DLLEXPORT HUD_DrawTransparentTriangles( void ) Funktion mit diesem code

float fogStart = 200;
float fogEnd =2000;
float fogColor[3] = {80,80,80};


GLfloat fogColorogl[4] = {0.3f,0.3f,0.3f,1.0f}; // Fog Color
if(cl_rendermode->value==1)
{
gEngfuncs.pTriAPI->Fog( fogColor, fogStart, fogEnd, 1 );
}
else if(cl_rendermode->value==0)
{
glFogi(GL_FOG_MODE, GL_LINEAR); // Fog Mode
glFogfv(GL_FOG_COLOR, fogColorogl); // Set Fog Color
glFogf(GL_FOG_DENSITY, (GLfloat)0.35f); // How Dense Will The Fog Be
glHint(GL_FOG_HINT, GL_NICEST); // Fog Hint Value
glFogf( GL_FOG_START, (GLfloat)200 );
glFogf( GL_FOG_END, (GLfloat)2000 );
glEnable(GL_FOG); // Enables GL_FOG
}

Nun findet noch eine Datei die Users... genannt wird
und added dieses
"cl_rendermode"
{
"Rendermode D3D or Opengl"
{ NUMBER 0.000000 1.000000 }
{ "0.000000" }
}

voila und ihr seid fertig
Falls ihr einen Fehler findet mailt mir oder postet ihn im THW oder Wavelength Forum

Noch eine Anmerkung: Falls ihr den cl_rendermode ändert während ihr spielt müsst ihr das game restarten

Dann mal viel Spass wünscht euch euer Borderline Team
Borderline Makers of Russian Front MOD
www.borderlinestudios.de.vu

Author: Basiror
Email: Basiror@compuserve.de
ICQ: Some have it

--

Basiror's Labs Game-Development page

Hifle in form von Tutorials, Artikeln und anderem wird dankbar angenommen

zum Seitenanfang zum Seitenende Profil || Suche
003
02.10.2001, 22:07
Basiror



die version hier geht bei der anderen hat tinystein... den ishardware teil reingebaut der die unterscheidung zwischen d3d und ogl nicht erlaubt

--

Basiror's Labs Game-Development page

Hifle in form von Tutorials, Artikeln und anderem wird dankbar angenommen

zum Seitenanfang zum Seitenende Profil || Suche
004
02.10.2001, 22:08
Archangel



sagmal gehts noch?

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005

zum Seitenanfang zum Seitenende Profil || Suche
005
02.10.2001, 22:23
Basiror



wegen den paar posts

hab nur dessen fehler verbessert und das darf ich wohl noch solange es unter meinem namen läuft

--

Basiror's Labs Game-Development page

Hifle in form von Tutorials, Artikeln und anderem wird dankbar angenommen

zum Seitenanfang zum Seitenende Profil || Suche
006
02.10.2001, 22:26
Archangel



das waren 4 posts innerhalb von 21 minuten.. was denkst du wofür die nette editfuktion is?

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005

zum Seitenanfang zum Seitenende Profil || Suche
007
02.10.2001, 22:29
Basiror



macht der gewohnheit :) *g*
reg dich net auf

--

Basiror's Labs Game-Development page

Hifle in form von Tutorials, Artikeln und anderem wird dankbar angenommen

zum Seitenanfang zum Seitenende Profil || Suche
008
02.10.2001, 23:28
TheTinySteini



Hm, Basiror meint, bei ihm würde das IEngineStudio.IsHardware() nicht richtig funktionieren. Bei mir funktioniert's jedoch einwandfrei...
Wenn also jemand das Tutorial ausprobiert, mal bitte sagen, ob's so klappt oder nicht.

[edit]
Bei mir macht der OpenGL Fog mucken, wenn ich ihn in der DrawxyzTriangles hab, ich muss ihn in einer view.cpp Funktion haben (argh, die hat nen scheiß namen, kann ich mir nie merken =)
[edit]

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy


Dieser Beitrag wurde am 02.10.2001 um 23:29 von TheTinySteini bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
009
02.10.2001, 23:49
Basiror



hm kann es sein das diese fehler von den grafikkarten abhängen
ich benutze ne gf2ultra mit diesen standard creative treibern

--

Basiror's Labs Game-Development page

Hifle in form von Tutorials, Artikeln und anderem wird dankbar angenommen

zum Seitenanfang zum Seitenende Profil || Suche
010
03.10.2001, 22:05
Retro



Öhm.. ich hab nen kleinen aber feinen Verbesserungsvorschlag für dein Tutorial: Quellcode:void DLLEXPORT HUD_DrawTransparentTriangles( void )
{
float fogStart = 150;
float fogEnd = 3000;
float fogColor[3] = {80,80,80};

GLfloat fogColorogl[4] = {0.3f,0.3f,0.3f,1.0f}; // Fog Color

if( IEngineStudio.IsHardware() == 2 ) // Direct3D
{
gEngfuncs.pTriAPI->Fog( fogColor, fogStart, fogEnd, 1 );
}
else if( IEngineStudio.IsHardware() == 1 ) // OpenGL
{
glFogi(GL_FOG_MODE, GL_LINEAR);
glFogfv(GL_FOG_COLOR, fogColorogl);
glFogf(GL_FOG_DENSITY, (GLfloat)0.35f);
glHint(GL_FOG_HINT, GL_NICEST);
glFogf( GL_FOG_START, (GLfloat)[b]fogStart[/b] );
glFogf( GL_FOG_END, (GLfloat)[b]fogEnd[/b] );
glEnable(GL_FOG);
}
}

So muss man die kagge nur einmal ganz oben festlegen.

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche