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

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

Direct3D 9.0: DrawPrimitiveUP вызывает exception: 0xC0000094: Integer division by zero.3 мая 200515:28#0
Привет всем.
продолжаю изучать Direct3D 9.0
Возникли проблемы с  DrawPrimitiveUP.Пишу в среде Visual C++ .Net 2002
вот код:
//Вершина
class Vertex {
public:
	//формат вершин
	enum {VERTEX_FORMAT = D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1};
	//позиция
	Vector3D pos;
	//нормаль
	Vector3D n;
	//текстурные координаты
	Vector2D texCoord;
};


Vertex *vertexs = NULL;
вот инициализация:
enum { Size =  3};//для 3 вершин треугольника

	....
	vertexs = new Vertex[Size];

	vertexs[0].pos = Vector3D(-1.0, 1.0, 0.0);
	vertexs[0].n = Vector3D(0.0, 0.0, -1.0);
	vertexs[0].texCoord = Vector2D(0.0f, 0.0f);


	vertexs[1].pos = Vector3D(1.0, 1.0, 0.0);
	vertexs[1].n = Vector3D(0.0, 0.0, -1.0);
	vertexs[1].texCoord = Vector2D(1.0f, 0.0f);

	vertexs[2].pos = Vector3D(-1.0, -1.0, 0.0);
	vertexs[2].n = Vector3D(0.0, 0.0, -1.0);
	vertexs[2].texCoord = Vector2D(0.0f, 1.0f)

	....

вот отрисовка

void DrawScene()
{
	__try {
		pDevice -> Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0,0,0), 1.0f, 0 );
		pDevice -> BeginScene();
		...
		pDevice -> SetFVF(Vertex::VERTEX_FORMAT);
		pDevice -> DrawPrimitiveUP(D3DPT_TRIANGLELIST, 1, vertexs, 0);
		...
		pDevice -> EndScene();
		pDevice -> Present( NULL, NULL, NULL, NULL);
	}
	__except(EXCEPTION_EXECUTE_HANDLER) {
		//код исключения
		int code = GetExceptionCode(); //вот тут код исключения 0xC0000094 (Integer division by zero)
		...
	}
}
В чем может быть проблема, где тут на ноль делиться? хотя если рисовать этот треугольник через вертексный буфер все в порядке...
Спасибо всем заранее. С уважением Андрей.
Поздравляем Сайбера (CyberZX) с Днем Рождения!3 мая 200514:57#24
CyberZX
Я присоеденяюсь к поздравлениям всего всего!!!
Считывание настроек игры с файла29 апр. 20059:55#47
mayami3
а самому самому перезаписать?
запрминаешь опзицию с которой начинается новая цифра, потом перезатираешь по символу...
Элементы GUI, взаимодействующие с другими28 апр. 200517:55#28
XperienS
>как это сделать ( или урл места, где почитать ).
наприер www.uml.ru
Элементы GUI, взаимодействующие с другими28 апр. 200510:19#8
XperienS
А если UML диаграмму нарисовать т.е. диаграмму классов на языке UML? ведь понятней будет...мне тоже интересно
Каркас движка27 апр. 200518:05#19
Subject
Просто продвинутая архитектура!!! подельшься опытом?
>Ну так дайте пару советов по структуре Hello World.
>Как сделать лучше.
Ну для начала надо в глубокий offline уйти и почитать чтонибудь умненькое... как будет 10 вразумительных классов тогда можно конкретные вопросы задавать на форуме...
Перлы Форума Gamedev.ru26 апр. 200516:46#822
cppguru
xplozive
:)))))))))))))))))))))))
Движок и игра22 апр. 200511:22#20
EvilSpirit
:))))))))))))))))))))
Глючит массив(или строки(или я))20 апр. 200513:46#24
Magvaj
смотри почту...
Проблема с Текстом В DIRECTX9C20 апр. 200512:48#3
ZaperDus
#include <d3dx9core.h>
#include <dxerr9.h>
#pragma comment(lib , "D3dx9.lib")

//построение шрифта
BuildFont(const int Height, const char* FontName, LPDIRECT3DDEVICE9*  pDevice)
{
		//создать шрифт
	HRESULT hr = D3DXCreateFont(pDevice,
                Height,
                0,
                0,
                1,
                FALSE,
                DEFAULT_CHARSET,
                OUT_DEFAULT_PRECIS,
                DEFAULT_QUALITY,
                DEFAULT_PITCH | FF_DONTCARE,
                FontName,
                &ppFont);
	//проверка ошибок
	if (hr != D3D_OK) {
		ok = false;
		MessageBox(NULL, DXGetErrorString9(hr), "Error", MB_OK);
		return;
	}
...
}
//отображение текста
void DrawText(LPD3DXFONT *text, float x, float y, const char* str,...)
{
	//Место для нашей строки
	static char strtext[1024] = {'\0'};
	va_list	argumentPtr;
    va_start(argumentPtr, str);
	vsprintf(strtext, str, argumentPtr);
	va_end(argumentPtr);
	RECT rec;
	rec.left = long(x);
	rec.top = long(y);
	//ширина
	rec.right = currentMode.GetWidth();
	//ширина
	rec.bottom = currentMode.GetHeight();
	D3DCOLOR color = 0xFFFFFFFF;//цвет текста
	//вывод текста
	text -> DrawTextA(NULL, strtext, -1, &rec, DT_WORDBREAK, color);
}
как вставить 3d модели из 3ds max в delphi?20 апр. 200511:55#7
Kernel
>Эсли ты считаеш что корректно загрузить модель из *.3ds это самое простое, то я тебе завидую :)
нет просто с этого может следует начать...А насчет корректности я только сам смог загрузить геометрию...
Глючит массив(или строки(или я))20 апр. 200511:52#22
Magvaj
>Чо, строки-то работают?
дак ты вообще не вызываешь работу со строками в своей программе :) ты просто инициализируешь OpenGL, работаешь с мышью но со строками нет... ты может сам запутался? в общем жду письма...
D3DX операции с матрицами - гдебы почитать ?20 апр. 20059:46#5
RMX
Ок отправляй спасибо большое заранее!!!:)
Глючит массив(или строки(или я))20 апр. 20058:37#20
Magvaj
Привет извиняюсь я тебе не то переслал:)теперь смотри почту:)

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

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