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

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

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

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

Результаты опроса: Надо?
Да - круто 2 14.29%
Нет - лажа 2 14.29%
Может и надо но не мне 10 71.43%
Голосовавшие: 14. Вы ещё не голосовали в этом опросе

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

Написал враппер всех функций ксорса.. в чем фишка? В том, что тут все максимально ООП, и подключается одной dll к любым .NET языкам. Плюс я дорабатываю враппер своими функциями например:
XE.Shadows.SetAutoShadows(); - устанавливет автоматическую настройку теней (для ленивых).. прописав эту функцию после XE.Graphics.Graphics3D(), вам не нужно будет заботится о прописывании команд для теней, учтите что будут использоваться стандартные параметры, если же вы хотите настраивать под себя, вам придется, все прописывать вручную
На моем сайте http://malcdevelop.ru Видео и туториалы
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо pozitiffcat за это полезное сообщение:
4yBa4Ok (12.11.2011), CRASHER (17.11.2011), Leowey (11.11.2011)
Старый 14.11.2011, 17:10   #2
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Написал c# враппер

ну нормально, чё.
(Offline)
 
Ответить с цитированием
Старый 14.11.2011, 21:53   #3
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Написал c# враппер

Посоветовал бы исправить метод equals на public override bool Equals(object obj), переопределить операторы == и != и метод public override int GetHashCode() для TEntity.

Да и как уже сказал MoKa - убрать префикс у классов.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
Dream (14.11.2011), moka (14.11.2011)
Старый 14.11.2011, 22:27   #4
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Написал c# враппер

переопределить операторы == и !=
Я пробовал переопределять... но происходит зацикливание,
вот почему

if((first!=null) && (second!=null))//<<тут зацикливание
{
if(first._handle == second._handle) return true;
}
return false;

Префикс не уберу. Я хочу чтобы он остался. Это мой "загон"
(Offline)
 
Ответить с цитированием
Старый 14.11.2011, 22:33   #5
Hurrit
Мастер
 
Аватар для Hurrit
 
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений
(для 2,207 пользователей)
Ответ: Написал c# враппер

где пост Моки?
(Offline)
 
Ответить с цитированием
Старый 14.11.2011, 22:35   #6
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Написал c# враппер

Сообщение от pozitiffcat Посмотреть сообщение
переопределить операторы == и !=
Я пробовал переопределять... но происходит зацикливание,
вот почему

if((first!=null) && (second!=null))//<<тут зацикливание
{
if(first._handle == second._handle) return true;
}
return false;

Префикс не уберу. Я хочу чтобы он остался. Это мой "загон"
эм... не мешалобы подучить матчасть
http://blog.nguen.net/post191-override_equals.html
по поводу шанса null -
простой вариант -
class Test
	{
		public int X;
		
		public override bool Equals (object obj)
		{
			if(obj is  Test)
			{
				return X==((Test)obj).X;
			}
			return base.Equals (obj);
		}
		
		public static bool operator==(Test obj,Test obj2)
		{
			if(obj  is Test)
			{
				
			return obj.Equals(obj2);
			}
			else if(obj2 is Test)
			{
				return obj2.Equals(obj);
			}
			return false;
		}
		
		public static bool operator!=(Test obj,Test obj2)
		{
			
			if(obj  is Test)
			{
				
			return !obj.Equals(obj2);
			}
			else if(obj2 is Test)
			{
				return !obj2.Equals(obj);
			}
			return true;
		}
		
		
	}
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pax (14.11.2011)
Старый 14.11.2011, 22:39   #7
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Написал c# враппер

Сообщение от Hurrit Посмотреть сообщение
где пост Моки?
Снёс оффтоп в другую тему: http://forum.boolean.name/showthread.php?t=15847
(Offline)
 
Ответить с цитированием
Старый 14.11.2011, 22:52   #8
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Написал c# враппер

Сообщение от pozitiffcat Посмотреть сообщение
Префикс не уберу. Я хочу чтобы он остался. Это мой "загон"
Загонный "загон".

Еще:
xx для класса функций ксорса это как-то вообще. Для всех объектов, имеющих _handle надо было бы сделать базовый класс и наследовать все объекты от него. Не надо было бы переопределять equals везде.
Не вижу необходимости в класса с суффиксом s, это можно статическими методами сделать.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
moka (14.11.2011)
Старый 14.11.2011, 23:07   #9
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Написал c# враппер

Кстати класс xx ты не объявил как статик, и при этом он содержит сами Interop ссылки на функции из библиотеки ксорса. Так вот, лучше наименовать его Interop например, или Functions. Использоваться он должен всё равно только интернально в библиотеке, поэтому ему ещё и видимость нада internal а также объявить его в именном пространстве свойственному к библиотеке.

Вообще архитектурно кривостей Очень много..
(Offline)
 
Ответить с цитированием
Старый 15.11.2011, 00:01   #10
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Написал c# враппер

Переименовал на сколько сил хватило...
Вложения
Тип файла: zip Library.zip (121.9 Кб, 412 просмотров)
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
moka (15.11.2011), pozitiffcat (15.11.2011)
Старый 15.11.2011, 00:18   #11
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Написал c# враппер

Сообщение от pax Посмотреть сообщение
Переименовал на сколько сил хватило...
эх.. а смысл.. если как обычно. говно
(Offline)
 
Ответить с цитированием
Старый 15.11.2011, 00:20   #12
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Написал c# враппер

А просто так)
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 15.11.2011, 11:32   #13
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Написал c# враппер

И всетаки неплохо получилось.. то что ты переименовал, я оставлю так.. изменю кое что что предложил Мока. Сделаю на HashTable сохранение всех созданных энтити и сюрфейсов, текстур, брашей.. короче всего где есть хэндл, и брать оттуда если уже существует
(Offline)
 
Ответить с цитированием
Старый 15.11.2011, 11:55   #14
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Написал c# враппер

Я там еще удалил из XE ссылки на объекты с окончанием s. А сами объекты сделал статическими...

Кстати не хватает энамов для констант шейдеров...
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 15.11.2011, 12:26   #15
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Написал c# враппер

Сообщение от pax Посмотреть сообщение
Я там еще удалил из XE ссылки на объекты с окончанием s. А сами объекты сделал статическими...

Кстати не хватает энамов для констант шейдеров...
чет голова не варит, а какие там константы, матрицы чтоль? Их наверно невозможно будет завернуть в енум для использования в функции, придется делать константами в классе
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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