Тема: Танчики
Показать сообщение отдельно
Старый 20.01.2008, 23:46   #109
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,375
Репутация скрыта [+/-]
Собираю данные по глюкам моих классов. Пока что на одной видеокарте из трёх (NVidia'вской) был замечен странный баг, на других (ATI'шных, из которых одна была в варианте для ноута) не появлявшийся. Следовательно, мне нужно собрать данные.
Выложил на Ifolder и webfile тестовую программку. Насколько я могу судить, она требует редистрибутивы VC (но они сейчас со многими играми идут, так что, надеюсь, у всех есть) и ноябрский DirectX (аналогично).
http://ifolder.ru/5034129
http://webfile.ru/1696678
В общем, запускайте и говорите результат. Только просьба запускать в разрешении 800 x 600 (просто у одного квада координаты абсолютные), попробовать и в оконном, и в полноэкранном режимах.
По идее, лицо на кваде с альфой должна быть видна поверх квада подложки. Если альфа работает, а лицо абсолютно чёрное - знаит, это и есть тот самый баг. Тогда буду думать, что делать.

Да, и кстати, раз уж тут выкладываю. Вот код этого приложеница с использованием моих классов. Просьба посмотреть господ программистов на предмет простоты. Единственное, что выход из приложения пока намертво на Escape в классе прописан, но это скоро изменится.
Скрытый текст:

Код:
#include "global.h"
#include <stdio.h>
#include <windows.h>
#include < D3d9.h>
#include "renderer.h"
#include "r_window.h"
//-----------------------------------------------------------------------------------------
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                   PSTR szCmdLine, int iCmdShow)
{
	D3DWindow *rw = new D3DWindow();
	D3DBaseSettings settings;
	if (rw->ShowRenderDialog(hInstance, settings)) {
		if (rw->CreateD3DWindow(settings, hInstance, iCmdShow)
		&& rw->PrepareToRun()) {
			D3DDevice *dev = rw->GetD3DDevice();
			D3DTexture *tx, *tx1;
			D3DQuad *q, *q1;
			rw->ShowCursor(false);
			tx = dev->LoadTexture(L"data\\test.png");
			tx1 = dev->LoadTexture(L"data\\test.bmp");
			q = dev->CreateQuad(tx1, true, 
								true, 400, 100, 400, 400,
								true, -1, -1, -1, -1);
			q1 = dev->CreateQuad(tx, false, 
								false, 0.0, 0.5, 1.0, 1.0,
								true, -1, -1, -1, -1);
			while (rw->Run()) {
				if (rw->IsActive() && dev->BeginPaint()) {
					q->Draw();
					q1->Draw();
					dev->EndPaint();
				}
			}
		}
		rw->Run();
	}
	delete rw;
	PostQuitMessage(0);
    return 0;
}
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ