Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Xors3D

Xors3D Графический движок с поддержкой DirectX9

Ответ
 
Опции темы
Старый 10.10.2011, 23:58   #496
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Xors3D

проблема с тенями!!!
......................... при ините приложения
        xSetAntiAliasType(0);
	xGraphics3D(wi,he,0,fu,1);
	xCreateDSS(1024, 1024);
	xSetTextureFiltering(TF_ANISOTROPICX16);
........................

//при ините левела (гдето в коде)
void shadows::initShadows(int light)
{
	xLightRange(light, 50);
	// shadows
	xInitShadows(1024, 0, 512);
	// set shadows params
	xLightEnableShadows(light, 1);
	xSetShadowParams(4, 0.85f, true, 300);
	xCameraEnableShadows(G::camera->getModel());
	xLightShadowEpsilons(light, 0.0001f, 0.16f);

//далее код отключения всем объектам отбрасывания тени
int cnt = G::sc_level->getCount();
	for(int i=0;i<cnt;i++)
	{
		Xors3Dext::Object3D* obj = G::sc_level->getByIndex(i);
		if(!obj) continue;
		xEntityCastShadows (obj->getModel(), light, false);
	}

}
размеры BB карты гдето 300х300х300 вот скрин

какого хрена у меня 45 fps упало после >60??? Тень отбрасывает только ОДНА башенка (спецом чотбы проверить fps), ЧЯДНТ???? Может есть шейдер для тени какой оптимизированный?
(Offline)
 
Ответить с цитированием
Старый 11.10.2011, 00:02   #497
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Xors3D

Тебе отлично подойдут тени от Directional источника, parallel-split алгоритма.
(Offline)
 
Ответить с цитированием
Старый 11.10.2011, 08:20   #498
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Xors3D

Сообщение от MoKa Посмотреть сообщение
Тебе отлично подойдут тени от Directional источника, parallel-split алгоритма.
а где их взять и как ими пользоваться?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Colossus (11.10.2011)
Старый 14.10.2011, 20:26   #499
Sashka007
ПроЭктировщик
 
Аватар для Sashka007
 
Регистрация: 11.11.2008
Адрес: Тольятти
Сообщений: 153
Написано 10 полезных сообщений
(для 24 пользователей)
Ответ: Xors3D

Ребят, объясните мне, что не так?
Миниатюры
Нажмите на изображение для увеличения
Название: jkjkjkj.JPG
Просмотров: 744
Размер:	113.3 Кб
ID:	15119  
(Offline)
 
Ответить с цитированием
Старый 14.10.2011, 20:31   #500
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Xors3D

Походу ты пытаешься, что-то изменить у чего-нибудь, а этого там где ты думаешь это есть нету и ты портишь то, что лежит там и приложение перестает работать
(Offline)
 
Ответить с цитированием
Старый 14.10.2011, 21:12   #501
Sashka007
ПроЭктировщик
 
Аватар для Sashka007
 
Регистрация: 11.11.2008
Адрес: Тольятти
Сообщений: 153
Написано 10 полезных сообщений
(для 24 пользователей)
Ответ: Xors3D

Так со всеми примерами кроме simple, я ничего не изменял и не делал, просто открываю и тут такое.


И вот опять: другой пример и другой компилятор.
Миниатюры
Нажмите на изображение для увеличения
Название: 324342.JPG
Просмотров: 710
Размер:	139.5 Кб
ID:	15120  
(Offline)
 
Ответить с цитированием
Старый 14.10.2011, 21:16   #502
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Xors3D

Код что ли выложи. Или на тнт в шоу экстрасенсов пиши.
У тебя походу примеры доисторические, счас вместо инт Handle, скачай новые
(Offline)
 
Ответить с цитированием
Старый 14.10.2011, 21:20   #503
Reks888
Дэвелопер
 
Аватар для Reks888
 
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений
(для 1,985 пользователей)
Ответ: Xors3D

Не в коде дело
__________________
>type C:\MyProj\*
www.sypiac.weebly.com
>
(Offline)
 
Ответить с цитированием
Старый 14.10.2011, 21:21   #504
Sashka007
ПроЭктировщик
 
Аватар для Sashka007
 
Регистрация: 11.11.2008
Адрес: Тольятти
Сообщений: 153
Написано 10 полезных сообщений
(для 24 пользователей)
Ответ: Xors3D

Обычный пример из xors3d

/************************************************** *****************
* *
* Xors3D Engine. Bloom sample, (c) 2010 XorsTeam *
* www: http://xors3d.com *
* e-mail: [email protected] *
* *
************************************************** *****************/
#pragma comment(lib,"Xors3d.lib")
// include Xors3d Engine header
#include <xors3d.h>
#include <iostream>
#include <math.h>

// for camera mouse look
float CurveValue(float newvalue, float oldvalue, float increments)
{
if(increments > 1.0f) oldvalue = oldvalue - (oldvalue - newvalue) / increments;
if(increments <= 1.0f) oldvalue = newvalue;
return oldvalue;
}

// Function for sky box creating
int CreateSkyBox(const char * skyPath);

// program entry point
int APIENTRY WinMain(HINSTANCE instance, HINSTANCE prevInstance, LPSTR commandLine, int commandShow)
{
// set graphics mode
xGraphics3D(800, 600, 32, false, true);
xAppTitle("Bloom sample");

// create camera
int camera = xCreateCamera();
xCameraRange(camera, 0.9, 3000);
xPositionEntity(camera, 10, 0, -20);
xRotateEntity(camera, -10, 20, 0);

// create scene
int cube = xLoadMesh("media/meshes/teapot.b3d");
xPositionEntity(cube, 0, 0, 5);
xScaleMesh(cube, 0.3, 0.3, 0.3);
int texture1 = xLoadTexture("media/textures/tex_bloom.jpg");
xEntityTexture(cube, texture1);

// create light
int light = xCreateLight();

// create posteffect poly
int poly = xCreatePostEffectPoly(camera, 1);

// create posteffect textures
int texture = xCreateTexture(256, 256);
int texture2 = xCreateTexture(800, 600);

// load posteffect shader
int shader = xLoadFXFile("media/shaders/Bloom.fx");

xSetEntityEffect(poly, shader);
xSetEffectTechnique(poly, "Diffuse");
xSetEffectMatrixSemantic(poly, "MatWorldViewProj", WORLDVIEWPROJ);
xSetEffectTexture(poly, "tDiffuse", texture);
xSetEffectTexture(poly, "tEmissive", texture2);

// create skybox
int sky = CreateSkyBox("media/textures/skybox/");
xScaleEntity(sky, 1000, 500, 1000);
xPositionEntity(sky, 0, 200, 0);

// create cube
int cube2 = xCreateCube();
xPositionEntity(cube2, 0, 0, 30);
xScaleEntity(cube2, 5, 5, 5);

// params
bool enable = true;

// for mouse look
xMoveMouse(xGraphicsWidth() / 2, xGraphicsHeight() / 2);
float mousespeed = 0.5;
float camerasmoothness = 4.5;
float mxs = 0.0f;
float mys = 0.0f;
float camxa = 0.0f;
float camya = 0.0f;

// main program loop
while(!xKeyDown(KEY_ESCAPE))
{
// camera control
if(xKeyDown(KEY_W)) xMoveEntity(camera, 0, 0, 1);
if(xKeyDown(KEY_S)) xMoveEntity(camera, 0, 0, -1);
if(xKeyDown(KEY_A)) xMoveEntity(camera, -1, 0, 0);
if(xKeyDown(KEY_D)) xMoveEntity(camera, 1, 0, 0);
mxs = CurveValue(xMouseXSpeed() * mousespeed, mxs, camerasmoothness);
mys = CurveValue(xMouseYSpeed() * mousespeed, mys, camerasmoothness);
camxa = fmodf(camxa - mxs, 360.0f);
camya = camya + mys;
if(camya < -89.0f) camya = -89.0f;
if(camya > 89.0f) camya = 89.0f;
xMoveMouse(xGraphicsWidth() / 2, xGraphicsHeight() / 2);
xRotateEntity(camera, camya, camxa, 0.0);

// turn teapot
xTurnEntity(cube, 0, 1, 0);

// switch bloom
if(xKeyHit(KEY_SPACE)) enable = !enable;

// render scene
xRenderWorld();

// bloom
if(enable == true)
{
xStretchBackBuffer(texture, 0, 0, 256, 256, 0);
xStretchBackBuffer(texture2, 0, 0, 800, 600, 0);
xSetEffectTechnique(poly, "Diffuse");
xRenderPostEffect(poly);
xStretchBackBuffer(texture, 0, 0, 256, 256, 0);
xSetEffectTechnique(poly, "DiffuseH");
xRenderPostEffect(poly);
xStretchBackBuffer(texture, 0, 0, 256, 256, 0);
xSetEffectTechnique(poly, "DiffuseV");
xRenderPostEffect(poly);
}

// draw texts
char buffer[128];
sprintf(buffer, "FPS: %i", xGetFPS());
xText(40, 30, buffer);
xText(40, 50, "Space - enable\\disable bloom");

// draw scene
xFlip();
}
return 0;
}

int CreateSkyBox(const char * skyPath)
{
int skybox = xCreateMesh();
// Left
char texturePath[256];
sprintf(texturePath, "%sleft.jpg", skyPath);
int texture = xLoadTexture(texturePath, 49);
int brush = xCreateBrush();
xBrushTexture(brush, texture);
int surface = xCreateSurface(skybox, brush);
int v0 = xAddVertex(surface, -1.0, 1.0, -1.0, 0.0, 0.0);
int v1 = xAddVertex(surface, -1.0, 1.0, 1.0, 1.0, 0.0);
int v2 = xAddVertex(surface, -1.0, -1.0, -1.0, 0.0, 1.0);
int v3 = xAddVertex(surface, -1.0, -1.0, 1.0, 1.0, 1.0);
xAddTriangle(surface, v2, v1, v0);
xAddTriangle(surface, v1, v2, v3);
// Front
sprintf(texturePath, "%sfront.jpg", skyPath);
texture = xLoadTexture(texturePath, 49);
brush = xCreateBrush();
xBrushTexture(brush, texture);
surface = xCreateSurface(skybox, brush);
v0 = xAddVertex(surface, -1.0, 1.0, 1.0, 0.0, 0.0);
v1 = xAddVertex(surface, 1.0, 1.0, 1.0, 1.0, 0.0);
v2 = xAddVertex(surface, -1.0, -1.0, 1.0, 0.0, 1.0);
v3 = xAddVertex(surface, 1.0, -1.0, 1.0, 1.0, 1.0);
xAddTriangle(surface, v2, v1, v0);
xAddTriangle(surface, v1, v2, v3);
// Right
sprintf(texturePath, "%sright.jpg", skyPath);
texture = xLoadTexture(texturePath, 49);
brush = xCreateBrush();
xBrushTexture(brush, texture);
surface = xCreateSurface(skybox, brush);
v0 = xAddVertex(surface, 1.0, 1.0, 1.0, 0.0, 0.0);
v1 = xAddVertex(surface, 1.0, 1.0, -1.0, 1.0, 0.0);
v2 = xAddVertex(surface, 1.0, -1.0, 1.0, 0.0, 1.0);
v3 = xAddVertex(surface, 1.0, -1.0, -1.0, 1.0, 1.0);
xAddTriangle(surface, v2, v1, v0);
xAddTriangle(surface, v1, v2, v3);
// Back
sprintf(texturePath, "%sback.jpg", skyPath);
texture = xLoadTexture(texturePath, 49);
brush = xCreateBrush();
xBrushTexture(brush, texture);
surface = xCreateSurface(skybox, brush);
v0 = xAddVertex(surface, 1.0, 1.0, -1.0, 0.0, 0.0);
v1 = xAddVertex(surface, -1.0, 1.0, -1.0, 1.0, 0.0);
v2 = xAddVertex(surface, 1.0, -1.0, -1.0, 0.0, 1.0);
v3 = xAddVertex(surface, -1.0, -1.0, -1.0, 1.0, 1.0);
xAddTriangle(surface, v2, v1, v0);
xAddTriangle(surface, v1, v2, v3);
// Top
sprintf(texturePath, "%stop.jpg", skyPath);
texture = xLoadTexture(texturePath, 49);
brush = xCreateBrush();
xBrushTexture(brush, texture);
surface = xCreateSurface(skybox, brush);
v0 = xAddVertex(surface, -1.0, 1.0, 1.0, 0.0, 0.0);
v1 = xAddVertex(surface, -1.0, 1.0, -1.0, 1.0, 0.0);
v2 = xAddVertex(surface, 1.0, 1.0, 1.0, 0.0, 1.0);
v3 = xAddVertex(surface, 1.0, 1.0, -1.0, 1.0, 1.0);
xAddTriangle(surface, v2, v1, v0);
xAddTriangle(surface, v1, v2, v3);
// set FX flags
xEntityFX(skybox, 1);
xFlipMesh(skybox);
xUpdateNormals(skybox);
// return skybox handle
return skybox;
}
(Offline)
 
Ответить с цитированием
Старый 14.10.2011, 21:27   #505
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Xors3D

Сообщение от pozitiffcat Посмотреть сообщение
ты в dev c++ либу не подключишь. Используй Microsoft Visual c++ express она бесплатна
#include "stdafx.h"
#include "TestProject.h"
#include <xors3d.h>
#include <iostream>

#pragma comment(lib,"xors3d.lib)

int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
        char msgBuffer[129];
        xGraphics3D(800, 600, 32, false, true);
        int camera = xCreateCamera();
        int light = xCreateLight();
        int cube = xCreateCube();
        xPositionEntity(cube, 0.0, 0.0, 10.0);
        while(!(xKeyHit(KEY_ESCAPE) || xWinMessage("WM_CLOSE")))
        {
                xTurnEntity(cube, 0.1, 0.1, 0.1);
                xRenderWorld();
                sprintf(msgBuffer, "Hello 3D World!");
                xText(10, 10, msgBuffer);
                sprintf(msgBuffer, "FPS: %i", xGetFPS());
                xText(10, 30, msgBuffer);
                xFlip();
        }
        return 0;
}
это не готовый код а пример!!!!!!
все файлы ложить рядом с созданными в проекте
ЗЫ. выдрал из хелпа.
попробуй этот код запустить не выйдет, значит ты не смог настроить хорс
(Offline)
 
Ответить с цитированием
Старый 14.10.2011, 23:52   #506
Sashka007
ПроЭктировщик
 
Аватар для Sashka007
 
Регистрация: 11.11.2008
Адрес: Тольятти
Сообщений: 153
Написано 10 полезных сообщений
(для 24 пользователей)
Ответ: Xors3D

Ничего не изменилось,я все по либы и хеадеры в с игрой и дллки тоже, в чем проблема, понять не могу.
Миниатюры
Нажмите на изображение для увеличения
Название: 3564563455634.JPG
Просмотров: 645
Размер:	126.7 Кб
ID:	15123  
(Offline)
 
Ответить с цитированием
Старый 15.10.2011, 00:12   #507
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Xors3D

Сматри, у меня запускается

Последний раз редактировалось dsd, 13.12.2011 в 22:59.
(Offline)
 
Ответить с цитированием
Старый 15.10.2011, 00:13   #508
Sashka007
ПроЭктировщик
 
Аватар для Sashka007
 
Регистрация: 11.11.2008
Адрес: Тольятти
Сообщений: 153
Написано 10 полезных сообщений
(для 24 пользователей)
Ответ: Xors3D

то все исправил, но теперь вот такая ошибка:

LINK : fatal error LNK1561: точка входа должна быть определена
(Offline)
 
Ответить с цитированием
Старый 15.10.2011, 02:20   #509
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Xors3D

Сообщение от Sashka007 Посмотреть сообщение
то все исправил
Как исправил?

Есть функция xLog. Если это проблема ксорса, то создастся файл рядом с ехе'шкой, читай инфу от туда.
Если файла нет, значит твоя проблема.

Убедись что все нужные DLL лежат рядом с EXE, в Release и Debug папках в bin.
Установи DirectX поновее.
(Offline)
 
Ответить с цитированием
Старый 15.10.2011, 11:42   #510
Sashka007
ПроЭктировщик
 
Аватар для Sashka007
 
Регистрация: 11.11.2008
Адрес: Тольятти
Сообщений: 153
Написано 10 полезных сообщений
(для 24 пользователей)
Ответ: Xors3D

Сообщение от MoKa Посмотреть сообщение
Как исправил?

Есть функция xLog. Если это проблема ксорса, то создастся файл рядом с ехе'шкой, читай инфу от туда.
Если файла нет, значит твоя проблема.

Убедись что все нужные DLL лежат рядом с EXE, в Release и Debug папках в bin.
Установи DirectX поновее.

Скопировал папку media в папку с .exe и ошибки пропали, это моя невнимательность, все работает, только вот почему то жалуется на функцию timeGetTime(), добавляю Mmsystem.h, все равно говорит, что ненаходит.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Xors3d wants YOU! .Squid Xors3D 33 13.01.2013 23:34
Xors3D для D johnk Проекты C++ 8 09.08.2009 14:18
Xors3D for .NET? johnk C++ 7 06.08.2009 09:34
Xors3D ЛысыЙ_Чук-Иванчук Модули для BlitzMax 145 18.06.2009 21:17
xors3d NitE 3D-программирование 9 02.04.2009 22:21


Часовой пояс GMT +4, время: 03:19.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com