|
Xors3D Графический движок с поддержкой DirectX9 |
Результаты опроса: Надо?
|
Да - круто
|
|
2 |
14.29% |
Нет - лажа
|
|
2 |
14.29% |
Может и надо но не мне
|
|
10 |
71.43% |
11.11.2011, 22:28
|
#1
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Написал c# враппер
Написал враппер всех функций ксорса.. в чем фишка? В том, что тут все максимально ООП, и подключается одной dll к любым .NET языкам. Плюс я дорабатываю враппер своими функциями например:
XE.Shadows.SetAutoShadows(); - устанавливет автоматическую настройку теней (для ленивых).. прописав эту функцию после XE.Graphics.Graphics3D(), вам не нужно будет заботится о прописывании команд для теней, учтите что будут использоваться стандартные параметры, если же вы хотите настраивать под себя, вам придется, все прописывать вручную
|
На моем сайте http://malcdevelop.ru Видео и туториалы
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо pozitiffcat за это полезное сообщение:
|
|
14.11.2011, 17:10
|
#2
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Написал c# враппер
ну нормально, чё.
|
(Offline)
|
|
14.11.2011, 21:53
|
#3
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Написал c# враппер
Посоветовал бы исправить метод equals на public override bool Equals(object obj), переопределить операторы == и != и метод public override int GetHashCode() для TEntity.
Да и как уже сказал MoKa - убрать префикс у классов.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
14.11.2011, 22:27
|
#4
|
Мастер
Регистрация: 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
|
Мастер
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений (для 2,207 пользователей)
|
Ответ: Написал c# враппер
где пост Моки?
|
(Offline)
|
|
14.11.2011, 22:35
|
#6
|
быдло
Регистрация: 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)
|
|
Сообщение было полезно следующим пользователям:
|
|
14.11.2011, 22:39
|
#7
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Написал c# враппер
|
(Offline)
|
|
14.11.2011, 22:52
|
#8
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Написал c# враппер
Сообщение от pozitiffcat
Префикс не уберу. Я хочу чтобы он остался. Это мой "загон"
|
Загонный "загон".
Еще:
xx для класса функций ксорса это как-то вообще. Для всех объектов, имеющих _handle надо было бы сделать базовый класс и наследовать все объекты от него. Не надо было бы переопределять equals везде.
Не вижу необходимости в класса с суффиксом s, это можно статическими методами сделать.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
14.11.2011, 23:07
|
#9
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Написал c# враппер
Кстати класс xx ты не объявил как статик, и при этом он содержит сами Interop ссылки на функции из библиотеки ксорса. Так вот, лучше наименовать его Interop например, или Functions. Использоваться он должен всё равно только интернально в библиотеке, поэтому ему ещё и видимость нада internal а также объявить его в именном пространстве свойственному к библиотеке.
Вообще архитектурно кривостей Очень много..
|
(Offline)
|
|
15.11.2011, 00:01
|
#10
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Написал c# враппер
Переименовал на сколько сил хватило...
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
15.11.2011, 00:18
|
#11
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: Написал c# враппер
Сообщение от pax
Переименовал на сколько сил хватило...
|
эх.. а смысл.. если как обычно. говно
|
(Offline)
|
|
15.11.2011, 00:20
|
#12
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Написал c# враппер
А просто так)
|
(Offline)
|
|
15.11.2011, 11:32
|
#13
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: Написал c# враппер
И всетаки неплохо получилось.. то что ты переименовал, я оставлю так.. изменю кое что что предложил Мока. Сделаю на HashTable сохранение всех созданных энтити и сюрфейсов, текстур, брашей.. короче всего где есть хэндл, и брать оттуда если уже существует
|
(Offline)
|
|
15.11.2011, 11:55
|
#14
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Написал c# враппер
Я там еще удалил из XE ссылки на объекты с окончанием s. А сами объекты сделал статическими...
Кстати не хватает энамов для констант шейдеров...
|
(Offline)
|
|
15.11.2011, 12:26
|
#15
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: Написал c# враппер
Сообщение от pax
Я там еще удалил из XE ссылки на объекты с окончанием s. А сами объекты сделал статическими...
Кстати не хватает энамов для констант шейдеров...
|
чет голова не варит, а какие там константы, матрицы чтоль? Их наверно невозможно будет завернуть в енум для использования в функции, придется делать константами в классе
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:40.
|