GameDev.ru
/ GameDev.ru / Пользователи / Andrey / Сообщения на форуме пользователя Andrey (209 стр.)

Сообщения на форуме пользователя Andrey (209 стр.)

OcTree - несколько вопросов.....20 окт. 200519:56#5
VileDog
>Дык вот вопрос который задавался уже видимо оч много раз, что делать с выпавшими полигонами???
я просто делаю отдельный список и туда записываю уже индексы используемцх полигонов потом этот массив проверяю...
Мультирендер - как?20 окт. 200519:53#10
st0ke
Ппрогдолжение:
	//Установка цвета
	virtual void SetColor(unsigned long Color) const = 0;
	//Ортогональная проекция
	virtual void OrthoProjection(float left, float right, float bottom, float top, float znear, float zfar) const = 0;
	//Конец ортогональной проекция
	virtual void EndOrthoProjection() const = 0;
	//Создать шейдер из файла
	virtual bool CreateShaderFromFile(const string& FileName, Shader *&shader, int type) const = 0;
	//удаление шейдера
	virtual void DeleteShader(Shader *&shader) const = 0;
	//Инициализация
	virtual bool InitRender(HWND hWnd, bool videoMode = false) = 0;
	//обновить камеру
	virtual void Update(Camera& cam) = 0;
	//Применнение камеры к рендеру
	virtual void ApplyCamera(unsigned int Width, unsigned int Height) const = 0;
	//выбор текстуры
	virtual void BindTexture(const Texture* texture, unsigned int n = 0) const = 0;
	//удалить текстуру из видеопамяти
	virtual void DeleteTexture(Texture *&texture) const = 0;
	//отображение полигона
	virtual void DrawPolygon(const void* buffer, unsigned int count = 1) const = 0;
	//Создать скриншот
	virtual bool ScreenShot() const = 0;
	//Инициализация текста
	virtual void TextInit(unsigned int height, unsigned int width, const char* FontName, Text *&text) const = 0;
	//Деинициализация текста
	virtual void TextRelease(Text *&text) const = 0;
...
 Render()
	virtual ~Render(){};
...
};
далее :
//OpenGL рендер
class OpenGLRender : public Render {
...
};
//Direct3D рендер
class Direct3DRender : public Render {
...
};
тут есть самое основное...
Мультирендер - как?20 окт. 200519:52#9
st0ke
попробуй сделать что-тотипа такого у меня так работает...
class Render {//Класс Отображение сцены
...
protected:
...
	//Камера
	static Camera camera;
...
public:
	//типы рендеров
	enum {D3DRender, OGLRender};
	//константы блендинга вычисление
	//коэффициента смешивания источника
	enum {	BLEND_SFACTOR_ZERO,
			BLEND_SFACTOR_ONE,
			BLEND_SFACTOR_SRC_COLOR,
			BLEND_SFACTOR_MINUS_DST_COLOR,
			BLEND_SFACTOR_SRC_ALPHA,
			BLEND_SFACTOR_MINUS_SRC_ALPHA,
			BLEND_SFACTOR_DST_ALPHA,
			BLEND_SFACTOR_MINUS_DST_ALPHA
	};
	//константы блендинга вычисление
	//коэффициента смешивания приемника
	enum {	BLEND_DFACTOR_ZERO,
			BLEND_DFACTOR_ONE,
			BLEND_DFACTOR_SRC_COLOR,
			BLEND_DFACTOR_MINUS_SRC_COLOR,
			BLEND_DFACTOR_SRC_ALPHA,
			BLEND_DFACTOR_MINUS_SRC_ALPHA,
			BLEND_DFACTOR_DST_ALPHA,
			BLEND_DSFACTOR_MINUS_DST_ALPHA
	};
	//типы источников света
	enum {	LIGHT_POINT,		//точечный
			LIGHT_SPOT,			//прожектор
			LIGHT_DIRECTIONAL,	//точечный бесконечно удаленный
			LIGHT_AMBIENT,		//общий свет
			LIGHT_DIFFUSE,		//рассеянный свет
			LIGHT_SPECULAR,		//зеркальный свет
			LIGHT_POSITION,		//свет с положением
	};
	//типы режима тумана
	enum {	FOG_MODE = 0,		//
			FOG_DENSITY = 1,	//интенсивность
			FOG_START = 2,		//ближайшая дистанция
			FOG_END = 3,		//наибольшая дистанция
			FOG_TABLE = 4,		//цвет тумана по индексу
			FOG_COLOR = 5		//цвет тумана
	};
	//типы тумана
	enum {	FOG_LINEAR = 0,		//f = (ens - z) / (end - start)
			FOG_EXP = 1,		//f = f - exp(- density * z)
			FOG_EXP2 = 2		//f = f - exp((- density * z)^2)
	};
	//отображение линии
	virtual void DrawLine(const Vector3D *line, unsigned int number = 1) const = 0;
	//отображение шейдера
	virtual void DrawShader(const Shader* shader) const = 0;
	//отображение поверхности
	virtual void DrawSurface(const Mesh::Surface& surface) const = 0;
	//отображение текста
	virtual void DrawText(const Text *text, unsigned long Color, int x, int y, const char* str = "",...) const = 0;
	//отображение процесса загрузки
	virtual void DrawLoading(const char* str...) const = 0;
	//Отображение Меша
	virtual void DrawMesh(const Mesh *mesh) const = 0;
	//отображение квадрата
	virtual void DrawQuads(const void* buffer) const = 0;
	//отображение сцены
	virtual void DrawScene() = 0;
	//разрешить туман
	virtual void EnableFog() const = 0;
	//запретить туман
	virtual void DisableFog() const = 0;
	//установка тумана
	virtual void SetFog(unsigned int param, const float* params) const = 0;
	//установить пустой вершинный буфер
	virtual void SetEmptyVertexBuffer() const = 0;
	//установка материала
	virtual void SetMaterial(const Mesh::Material& material) const = 0;
	//установка источника света
	virtual void SetLight(const Light *light, unsigned int number = 0) const = 0;
	//получить тип источника света по общей константе
	virtual unsigned int GetTypeLight(unsigned int RenderLightType) const = 0;
	//создание вертексного буффера
	virtual void CreateVertexBuffer(VertexBuffer *&buffer, void *vertices, unsigned int size) const = 0;
	//удаление вертексного буффера
	virtual void DeleteVertexBuffer(VertexBuffer *&buffer) const = 0;
	//запрещение прозрачности
	virtual void DisableBlend() const = 0;
	//разрешение прозрачности
	virtual void EnableBlend() const = 0;
	//Установка функции прозрачности
	virtual void BlendFunction(unsigned int sfactor, unsigned int dfactor) const = 0;
	//сохранить матрицу проекции в стек
	virtual void PushProjectionMatrix() const = 0;
	//вытолкнуть матрицу проекции из стека
	virtual void PopProjectionMatrix() const = 0;
	//сохранить матрицу вида в стек
	virtual void PushViewMatrix() const = 0;
	//вытолкнуть матрицу вида из стека
	virtual void PopViewMatrix() const = 0;
	//получить матрицу проекций
	virtual void GetProjectionMatrix(float *matr) const = 0;
	//получить матрицу вида
	virtual void GetViewMatrix(float *matr) const = 0;
	//сбросить видовую матрицу
	virtual void ClearViewMatrix() const = 0;
	//восстановить видовую матрицу
	virtual void RestoreViewMatrix() const = 0;
	//перемещение на вектор
	virtual void Translate(const Vector3D& v) const = 0;
	//перемещение на вектор
	virtual void Translate(float x, float y, float z) const = 0;
	//разрешение наложения текстуры
	virtual void EnableTexture2() const = 0;
	//запрещение наложения текстуры
	virtual void DisableTexture2() const = 0;
	//разрешить освещение
	virtual void EnableLight() const = 0;
	//запретить освещение
	virtual void DisableLight() const = 0;
Проблема с D3DXMatrixTranslation29 авг. 200520:36#2
Zeliboba
И как?
у меня просто вообще не перемещается :(
Спецификация игрового движка27 авг. 200515:56#13
Миронов Иван
>2) Что почитать про UML? (для НЕпрофессионалов, но максимально полно, если это вообще возможно :))
www.uml.ru
Структура движка17 авг. 200518:59#42
=A=L=X=
Ты в аське вообще бываешь?
Странная проблема со смешанными массивами(glInterleavedArrays) в OpenGL17 авг. 200518:43#27
Jackis
я тебе на почту выслал 2 проекта в котором не работает и в котором все работает...
все делаю одинаково...

Правка: 17 авг. 2005 18:44

Странная проблема со смешанными массивами(glInterleavedArrays) в OpenGL16 авг. 200519:09#26
Jackis
Давай завтра я подготовлю тестовый пример и тебе пришлю по почте?
я к тебе в аську постучался...
Theora — воспроизведение видео в играх. (Комментарии к статье)15 авг. 200520:00#19
LS
Отличная статья  если нужно будет воспроизводить видео обязательно буду вникать глубже, используя материал этой статьи :)
Странная проблема со смешанными массивами(glInterleavedArrays) в OpenGL15 авг. 200519:55#24
Jackis
К сожалению я ошибся у МЕНЯ ВСЕТАКИ НЕ РАБОТАЕТ!
Вопросы по использованию Lua для организации игровой логики.10 авг. 200518:25#6
Спасибо всем!!!
я немного разобрался.будут вопросы я еще раз подниму эту тему...
Странная проблема со смешанными массивами(glInterleavedArrays) в OpenGL10 авг. 200518:21#22
Jackis
>Ведь после добавления этой строки: glEnableClientState(GL_VERTEX_ARRAY), всё ведь заработало?
Да!!!!! спасибо большое!!!!
>Извиняюсь за резкость, но неужели трудно прочитать процитированный мною текст???????
просто я уже не во что не верил и не очень внимательно читал... но почему с простыми линиями надо делать так, а для сложной структуры не надо(смотри пост 11)?
Структура движка9 авг. 200520:08#5
=A=L=X=
>www.nvkz.net/adav/gb подробно задокументировано в открытых исходниках. на первый прорыв в область движков хватит, а >потом сам научишся думать. ;)
сегодня посмотрю...
Вопросы по использованию Lua для организации игровой логики.9 авг. 200519:20#1
All
И что никто мне не расскажет что нибудь? вроде все правила соблюдаюся есть конкретные вопросы...
Странная проблема со смешанными массивами(glInterleavedArrays) в OpenGL9 авг. 200519:14#20
Jackis
и что тогда я неправильно деолаю?

Следующие темы >>

2001—2012 © GameDev.ru — Разработка игр