|
|
|
Канал Игры Мечты: «Помощь Всем!» |
|
|
Dukalis
65 EGP
 Репутация: 3 Сообщения: 153 Откуда: Украина-Донецк Зарегистрирован: 25.03.2006
 |
|
Вопрос такой как класифицируються звезды кто нить знает? Ну я знаю какие бывают а вот что такое G5 B1 ? Вроде Яркость звезды или я ошибаюсь? Помогите очень надо!
_________________ Что успокаивает лучше звёзд... |
|
|
$Vanger$
245 EGP
   Репутация: 44 Сообщения: 445 Откуда: Минск Зарегистрирован: 30.08.2002
 |
|
http://astronet.ru/db/msg/1162991
http://ru.wikipedia.org/wiki/Спектральный_класс
_________________ Head down, wings out, faster than sound |
|
|
Dukalis
65 EGP
 Репутация: 3 Сообщения: 153 Откуда: Украина-Донецк Зарегистрирован: 25.03.2006
 |
|
$Vanger$
ох спасибо выручил а то я уже отчаялся!
_________________ Что успокаивает лучше звёзд... |
|
|
Sh.Tac.
151 EGP
  Рейтинг канала: 5(108) Репутация: 14 Сообщения: 1426
Зарегистрирован: 27.07.2005
 |
|
жаль, не видать нам терь зелёных карликов
_________________ This is what you get ...
(c) Radiohead |
|
|
NRG
2525 EGP
        Рейтинг канала: 3(32) Репутация: 435 Сообщения: 10010 Откуда: Odessa, Ukraine Зарегистрирован: 07.02.2001
 |
|
Sh.Tac. : |
жаль, не видать нам терь зелёных карликов
|
ничче, заселим космос леприконами
_________________ Единица измерения равнодушия - один хер. |
|
|
Dukalis
65 EGP
 Репутация: 3 Сообщения: 153 Откуда: Украина-Донецк Зарегистрирован: 25.03.2006
 |
|
Ну почему,не увидим?, идея зелёного карлика РЕАЛЕЗУЕТЬСЯ!
_________________ Что успокаивает лучше звёзд... |
|
|
Phoenics
|
|
Jurec : |
for (int i = 1; i <= samples; i++)
{
color += (texture2D(blurimage, tc_pos) + texture2D(blurimage, tc_neg)) * weights[i];
tc_pos += blur_offset.xy;
tc_neg -= blur_offset.xy;
}
}
|
Такое не пробовал?
Код: |
uniform float sampleDist0;
uniform sampler2D RT;
varying vec2 vTexCoord;
void main(void)
{
vec2 samples00 = vec2(-0.326212, -0.405805);
vec2 samples01 = vec2(-0.840144, -0.073580);
vec2 samples02 = vec2(-0.695914, 0.457137);
vec2 samples03 = vec2(-0.203345, 0.620716);
vec2 samples04 = vec2( 0.962340, -0.194983);
vec2 samples05 = vec2( 0.473434, -0.480026);
vec2 samples06 = vec2( 0.519456, 0.767022);
vec2 samples07 = vec2( 0.185461, -0.893124);
vec2 samples08 = vec2( 0.507431, 0.064425);
vec2 samples09 = vec2( 0.896420, 0.412458);
vec2 samples10 = vec2(-0.321940, -0.932615);
vec2 samples11 = vec2(-0.791559, -0.597705);
vec2 newCoord;
vec4 sum = texture2D(RT, vTexCoord);
/*
for (int i = 0; i < 12; i++)
{
sum += tex2D(RT, texCoord + sampleDist0 * samples[i]);
}
*/
newCoord = vTexCoord + sampleDist0 * samples00;
sum += texture2D(RT, newCoord);
newCoord = vTexCoord + sampleDist0 * samples01;
sum += texture2D(RT, newCoord);
newCoord = vTexCoord + sampleDist0 * samples02;
sum += texture2D(RT, newCoord);
newCoord = vTexCoord + sampleDist0 * samples03;
sum += texture2D(RT, newCoord);
newCoord = vTexCoord + sampleDist0 * samples04;
sum += texture2D(RT, newCoord);
newCoord = vTexCoord + sampleDist0 * samples05;
sum += texture2D(RT, newCoord);
newCoord = vTexCoord + sampleDist0 * samples06;
sum += texture2D(RT, newCoord);
newCoord = vTexCoord + sampleDist0 * samples07;
sum += texture2D(RT, newCoord);
newCoord = vTexCoord + sampleDist0 * samples08;
sum += texture2D(RT, newCoord);
newCoord = vTexCoord + sampleDist0 * samples09;
sum += texture2D(RT, newCoord);
newCoord = vTexCoord + sampleDist0 * samples10;
sum += texture2D(RT, newCoord);
newCoord = vTexCoord + sampleDist0 * samples11;
sum += texture2D(RT, newCoord);
sum /= 13.0;
gl_FragColor = vec4( sum);
} |
|
|
|
Phoenics
|
|
Jurec : |
:/
Я не знаю как облегчить этот пиксельный шейдер, делающий sepatate gaussian blur для эффекта bloom:
|
Если очень хочется именно гауса, то попробуй развернуть цикл, т.к. карточки от АТИ овобще с циклами не сильно дружат, и уменьшить вдвое количсетво выборок, а недостающие значения получать интерполяцией.
|
|
|
Digited
271 EGP
   Рейтинг канала: 4(99) Репутация: 49 Сообщения: 932
Зарегистрирован: 24.08.2004
 |
|
Phoenics, послал вам личное сообщение вчера днем.
|
|
|
Delta_Q
245 EGP
  Рейтинг канала: 2(12) Репутация: 46 Сообщения: 1722 Откуда: Русь Зарегистрирован: 07.02.2001
 |
|
Нужна прога чтобы выдернуть из игры Хомеворд Модельки кораблей и текстур.
Может кто помочь в этом деле?
_________________ Двенадцатый пилот.
In nomine patris, et filii, et spiritus sanctis. |
|
|
NRG
2525 EGP
        Рейтинг канала: 3(32) Репутация: 435 Сообщения: 10010 Откуда: Odessa, Ukraine Зарегистрирован: 07.02.2001
 |
|
http://www.extractor.ru/download_index.phtml
смотри по названию
_________________ Единица измерения равнодушия - один хер. |
|
|
Olorin
70 EGP
  Рейтинг канала: 1(6) Репутация: 12 Сообщения: 97 Откуда: Хьёрвард Зарегистрирован: 27.02.2006
 |
|
Jurec : |
Ну у меня тож вопрос: как реализовать многопоточность? Хотяб основные положения...
|
Если еще актуально...
WinAPI - см. функции СreateThreadEx, ExitThread, CloseHandle (кудаж без него...)
.NET - пр-во имен System.Threading , если не ошибаюсь. Там класс-другой ткнуть, все очевидно.
И, если не .NET, нужно очень хорошо продумать взаимодействие между нитями.
Обмен данными, синхронизация доступа, общие ресурсы... real-time ведь...
_________________ Мы на многое не отваживаемся не потому что оно трудно; оно трудно именно потому, что мы на него не отваживаемся.
Сенека Старший |
|
|
Delta_Q
245 EGP
  Рейтинг канала: 2(12) Репутация: 46 Сообщения: 1722 Откуда: Русь Зарегистрирован: 07.02.2001
 |
|
Jurec : |
Ну у меня тож вопрос: как реализовать многопоточность? Хотяб основные положения...
|
Джеффри Рихтер - Создание эффективных Win32-приложений с учетом спецификации 64-разрядной системы Windows.
В Си++ сматри функции
Win32 API:
SetProcessAffinityMask
SetThreadIdealProcessor
_________________ Двенадцатый пилот.
In nomine patris, et filii, et spiritus sanctis. |
|
|
Alek Aaz
|
|
Эээ простите за наглость, но кто-нибудь может перевести с С на pascal генератор галактики FFE c этого сайта http://www.jongware.com/galaxy1.html У меня тяма не хватает , а на изучение С времени нету катастрофически.
Спасибо.
|
|
|
Kalembas
1335 EGP
     Рейтинг канала: 2(24) Репутация: 263 Сообщения: 18999 Откуда: Санкт-Петербург Зарегистрирован: 21.03.2003
 |
|
Это типа шутка такая? "404 Not Found /galaxy1.html"...
_________________ Делаешь – не бойся, боишься – не делай, а сделал – не сожалей... |
|
|
Alek Aaz
|
|
Поправил
|
|
|
Shirson
1605 EGP
           Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
 |
|
А что не поулчается?
_________________ У меня бисера не доxеpа. |
|
|
Lefi Mind
51 EGP
 Рейтинг канала: 1(7) Репутация: 2 Сообщения: 24
Зарегистрирован: 23.03.2008
 |
|
Jurec : |
Ну у меня тож вопрос: как реализовать многопоточность? Хотяб основные положения... Рыдания.
|
Я программирую только на C#, по-этому могу подкинуть информацию только по платформе .NET http://rsdn.ru/article/dotnet/CSThreading1.xml
А вообще гугиль в помощь
|
|
|
Alek Aaz
|
|
Shirson : |
А что не поулчается?
|
Ну например перевести эту конструкцию
Код: |
unsigned int FractionMul (unsigned int op1, unsigned int op2)
{
return (((op1 & 0xffff)*op2) >> 16)+(op2*(op1 >> 16));
}
|
Ну или вот эту
Код: |
void GetTemperature (Planet_t *Planets,int Counter, int parentobject, int dd_arg_1,
unsigned short dw_arg_2, int mass_unscaled)
{
int orbit_radius, parent_mass;
ScaledWord_t temp;
Planets[Counter].orbital_radius = FractionMul(dd_arg_1, dw_arg_2);
if (Planets[Counter].orbital_radius)
{
Planets[Counter].orbital_radius = DWordToScaledWord(Planets[Counter].orbital_radius);
Planets[Counter].orbital_radius += 0x190000;
if (parentobject)
{
orbit_radius = Planets[Counter].orbital_radius;
if (Planets[parentobject-1].descriptioncode == 0 && Counter-1 <= parentobject)
{
orbit_radius += 0x10000;
}
parent_mass = Planets[parentobject-1].mass;
temp.full = getSqrt_adj(FFP_Div(FFP_Mul(FFP_Mul(orbit_radius,orbit_radius),
orbit_radius),parent_mass));
temp.w.Base = ((temp.w.Base*0x5EDB) >> 15);
Planets[Counter].orbital_period = temp.full;
} else
{
Planets[Counter].orbital_period = 0;
}
Planets[Counter].latitude = BasePlayerVariables_plangen_seed & 0xffff;
}
Planets[Counter].random_seed = BasePlayerVariables_plangen_basemass2;
BasePlayerVariables_plangen_dword_A4++;
Planets[Counter].parent = parentobject;
Planets[Counter].mass = DWordToScaledWord(mass_unscaled)+0x3f0000;
Planets[Counter].eccentricity = (((BasePlayerVariables_plangen_seed & 0xffff)*
(BasePlayerVariables_plangen_seed & 0xffff)) & 0xffff) >> 24;
Planets[Counter].longitude = ((BasePlayerVariables_plangen_seed & 0xffff) >> 3)|
((BasePlayerVariables_plangen_seed & 0xffff) << 13);
Planets[Counter].longitude = (Planets[Counter].longitude*Planets[Counter].longitude)>>20;
if (parentobject)
{
Planets[Counter].longitude += Planets[parentobject-1].field_42;
}
Planets[Counter].field_42 = (Planets[Counter].random_seed*Planets[Counter].random_seed &
0x8000) ? -1 : 0;
Planets[Counter].rotspeed = Planets[Counter].field_42 & 3;
Planets[Counter].level = BasePlayerVariables_plangen_byte_AA;
if (Planets[Counter].temperature >= 1000)
return;
int loopcounter = 0;
int parentPtr;
int edi = Counter;
while (Planets[edi].parent)
{
parentPtr = Planets[edi].parent-1;
if (Planets[parentPtr].field_1C)
{
temp.full = DWordToScaledWord(Planets[parentPtr].field_1C);
temp.w.Scale += 0x32;
temp.full = FFP_Div(temp.full, Planets[edi].orbital_radius);
temp.full = FFP_Mul(temp.full,temp.full);
loopcounter = FFP_Add (loopcounter, temp.full);
}
edi = parentPtr;
}
Planets[Counter].temperature += CalcTemperature(getSqrt_adj (getSqrt_adj (loopcounter)));
}
|
|
|
|
Shirson
1605 EGP
           Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
 |
|
Я не сишник, но вроде (((op1 & 0xffff)*op2) >> 16)+(op2*(op1 >> 16)); это ((op1 and 0xffff)*op2) shr 16)+(op2*(op1 shr 16));
Правда, что означает ) ? -1 : 0; я тоже не знаю
_________________ У меня бисера не доxеpа.
Последний раз редактировалось: Shirson (17:06 26-06-2008), всего редактировалось 1 раз |
|
|
|
|
|
Канал Игры Мечты: «Помощь Всем!» |
|