Войти
СайтФорумОбсуждение

Quake 3 Source Code (Комментарии к новости) (3 стр)

Страницы: 1 2 3 4 Следующая »
#30
9:39, 25 авг 2005

Да помню начинания.
Вопрос тока нафиг это надо :)
Вот шейдера у них через Ж грузяться. Не без минимального ООП никуда.
STL ацтой, а чтобы был ООП и все такое и везде все быстро работало пишите свои препроцесоры, ща это вроде популярно

#31
11:58, 25 авг 2005

вы не любите STL? да вы просто не умеете его готовить ;)

насчет переписаных STL контейнеров..
сам переписываю некотороые.. ибо знаю где схитрить.. чисто под мою реализацию..

например вектора в которых неважен порядок.. реализация вставки.. и удаления работают гораздо быстрее ;)
вот тут вот надо спорить..

а в целом СТЛ справляеться со своей роботой.. как не грузилиб на него..

не нравиться скорость? пишите на асме.. ;) либо учитесь правильно, ефективно использовать..

#32
15:41, 28 авг 2005

Где почитать подробнее как все это устроено? UML-диаграммы может какие есть...
И зачем нужен lcc?

#33
17:59, 28 авг 2005

Kashey
>Вот шейдера у них через Ж грузяться.
какие шейдеры? в 99-то году
>И зачем нужен lcc?
если ты про компилятор lcc-win32, то подумай зачем нужны компилятор

#34
18:35, 28 авг 2005

IROV..
>например вектора в которых неважен порядок.. реализация вставки.. и удаления работают гораздо быстрее ;)
>вот тут вот надо спорить..
О!
Ето тъ про так назъваемъй std::set... ?

#35
19:37, 28 авг 2005

st0ke
Ты в ку3 не видел шейдеров? Нам тебя жаль... ;)

glMatrixMode(GL_TEXTURE);
glTranslatef(cos(x)*scale, sin(x)*scale, 0);
glMatrixMode(GL_MODELVEW);

Чем не шейдер?

#36
4:32, 29 авг 2005

XProger
а ну да, это вершинные шейдеры, но не в коем образе не вершинные програмы

#37
8:54, 29 авг 2005

st0ke
>а ну да, это вершинные шейдеры, но не в коем образе не вершинные програмы

месье сможет сформулировать отличие?

#38
9:14, 29 авг 2005

Mega
да!
шейдер который превел XProger является шейдером! Так как вершинные шейдеры не заменяют блок T&L, а строчки приводимые в посте 36 явно выполняется этим блоком!(но потом M$ слово програмы заменило на шейдер и всем понравилось это слова!)

#39
9:44, 29 авг 2005

XProger
Ого.
А с каких это пор функциональность блока T&L приравнивается к шейдерам? Типа "fixed functionality shader"?  :-)

st0ke
>какие шейдеры? в 99-то году
Хех. А какая студия 7.1 в 99 году? Почему ето на 6-й вижалке сырцы не компилятся?

#40
10:39, 29 авг 2005

tav
>Почему ето на 6-й вижалке сырцы не компилятся?
скомпилить можно где угодно и как угодно(ведь сам Кармак то наверно в 6 писал(ну или в 5(ну или в 4(ну или ниже у меня нет))), надо время потрать чтобы там все собрать!

#41
11:44, 29 авг 2005

Zemedelec

Я думаю про массив,  при удалении из середены которого дырка заполняетмся не сдвигом всего хвоста, а перемещением части хвоста размером с дырку :).

#42
12:55, 29 авг 2005

st0ke
>скомпилить можно где угодно и как угодно
Ну, само собой. Да хоть на Delphi. Вот сырцы только на паскаль перевести надо и всего делов -- компиль сколько хочешь.
>надо время потрать чтобы там все собрать!
Да я сырцы эти даже не видел. А проблемы возникли не у меня, а у автора этого топика.

Я другое хочу сказать.
Посмотри последнюю дату создания архива с сырцами. Да хотя бы версию игры, исходники которой представлены.
Почему в новую версию не могут добавить шейдеры?
Это я к тому, что высказывание "какие шейдеры? в 99-то году" равносильно скажем "Far Cry не поддерживает SM 3.0".
В новой версии Q3 шейдеров, конечно, нет, но 99 год тут сооовсеем не причём.

#43
14:02, 29 авг 2005

Zemedelec
>IROV..
>>например вектора в которых неважен порядок.. реализация вставки.. и удаления
>>работают гораздо быстрее ;)
>>вот тут вот надо спорить..
>О!
>Ето тъ про так назъваемъй std::set... ?
нуу я бы сказал что std::set это аля std::map но ни как не аля std::vector

вот собствено и оно.. ;)
за реализацию.. не пинать..

#	pragma once

template<class T>
class CObjectContainer
{
public:
	typedef T * TVectorObject;
	typedef T * iterator;
	typedef const T * const_iterator;
public:
	CObjectContainer()
		: m_NumOfVectorObject(0)
		, m_CapacityVectorObject(0)
		, m_VectorObject(0)
	{

	}

	CObjectContainer( size_t Size)
		: m_NumOfVectorObject(0)
		, m_CapacityVectorObject(Size)
	{
		m_VectorObject =  new T[Size];
	}

public:
	inline T & operator[](size_t i)
	{
		return m_VectorObject[i];
	}

	inline const T & operator[](size_t i)const
	{
		return m_VectorObject[i];
	}

	inline T * data()
	{
		return m_VectorObject;
	}

	inline const T * data()const
	{
		return m_VectorObject;
	}

	inline size_t size()const
	{
		return m_NumOfVectorObject;
	}

	inline bool empty()const
	{
		return m_NumOfVectorObject == 0;
	}

	inline size_t capacity()const
	{
		return m_CapacityVectorObject;
	}

	inline void push_back(const T &_T)
	{
		if( m_NumOfVectorObject < m_CapacityVectorObject )
		{
			m_VectorObject[m_NumOfVectorObject] = _T;
			++m_NumOfVectorObject;
		}
	}

	inline T & push_back_reserve()
	{
		if( m_NumOfVectorObject < m_CapacityVectorObject )
		{
			++m_NumOfVectorObject;
		}
		return m_VectorObject[m_NumOfVectorObject-1];
	}

	inline void erase( size_t i)
	{
		if( m_NumOfVectorObject > 0 )
		{
			m_VectorObject[i] = m_VectorObject[--m_NumOfVectorObject];
		}
		else
		{
			m_NumOfVectorObject = 0;
		}
	}

	inline void clear()
	{
		m_NumOfVectorObject = 0;
	}

	inline iterator begin()
	{
		return m_VectorObject;
	}

	inline const_iterator begin() const
	{
		return m_VectorObject;
	}

	inline iterator end()
	{
		return m_VectorObject + m_NumOfVectorObject;
	}

	inline const_iterator end() const
	{
		return m_VectorObject + m_NumOfVectorObject;
	}

private:
	TVectorObject m_VectorObject;
	size_t m_NumOfVectorObject;
	size_t m_CapacityVectorObject;
};
#44
19:34, 4 сен 2005

Linking...
cl_cin.obj : error LNK2001: unresolved external symbol _glConfig
cl_main.obj : error LNK2019: unresolved external symbol _GetRefAPI referenced in function _CL_InitRef
sv_bot.obj : error LNK2019: unresolved external symbol _GetBotLibAPI referenced in function _SV_BotInitBotLib
.\Debug/quake3.exe : fatal error LNK1120: 3 unresolved externals


Что не так?

Страницы: 1 2 3 4 Следующая »
СайтФорумОбсуждение

Тема в архиве.