Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru
/ GameDev.ru / Программирование игр [Форум / Инфо]

Программирование игр

GPSM: Geometry Pitch Shadow Map Аврелий
GPSM: Geometry Pitch Shadow Map
GPSM (Geometry Pitch Shadow Map) — еще один метод рендеринга теневых карт, дающий возможность реализовать тени, покрывающие огромные территории, используя всего одну текстуру, в которую происходит рендеринг (render target). Метод GPSM даёт для теней вдали от камеры наблюдения качество хуже, а вблизи — лучше. Этот метод я изобрел для своего движка и уже использую в двух проектах, решил поделится с вами, надеюсь, кому-то пригодится.

Читать | Комментарии [88]
30 апр. 2012

AngelScript Chaos_Optima
AngelScript
В данной статье мне хотелось бы показать почему мне понравился скриптовый язык AngelScript. Когда я выбирал язык для своего движка, я просмотрел множество кандидатур, и для подробного рассмотрения выбрал два скриптовых языка, ими были LUA и Python.

Читать | Комментарии [154]
2 ноя. 2011

OpenGL на Qt 4. Это просто! (часть 2) vxstar
Редактор функций на основе кривых Безье Shalom
Простая машинка в Unity crol
Пишем отладчик для Lua 5.1 @!!ex
MovieClip CStalker
MovieClip — графический объект в среде Flash, который в отличии от Sprite может иметь анимацию. Это основной компонент в большинстве флеш-приложений.

Читать | Комментировать
26 апр. 2012

Maratis Engine GiSberg
Maratis Engine - движок французского студента Anaël Seghezzi. Движок был разработан в 2005 году как проектная работа. В том же году на движке была сделана первая игра под названием "Le jardin de Mirabelle", которая впоследствии в 2006 году получила награду на Imagina Games Awards 2006 за отличную графику. В 2010 году французская студия Medigames-Studios разработала с помощью Maratis игру для iPhone "Save our Souls"

Читать | Комментировать
10 апр. 2012

MEL: Maya Embedded Language KaDmiy
ActionScript CStalker
Текстурный атлас Skyblade
Обёртка над QPC Alexander K
Иногда, а точнее почти всегда, необходимо замерять время выполнения некоторых участков кода. Для этого есть удобное и весьма точное средство — QueryPerformanceCounter. Однако при его использовании необходимы некоторые преобразования, чтобы получить результат в секундах.

Читать | Комментарии [40]
16 мар. 2011

Доступ к параметрам VC++ проекта из кода Barbar1an
Как избежать сворачивания полноэкранной windows-игры в многомониторной конфигурации. vlob
Три с половиной способа подружить альфа-тест с DXT1 tav
AMD gDEBugger обновился до версии 6.2 StiX
Новое в данной версии gDEBugger:
- Поддержка Линукса,
- Новый самостоятельный пользовательский интерфейс,
- OpenCL отладка на 7000-й серии AMD Radeon HD,
- Поддержка бета драйвера OpenCL 1.2,
- Автоапдейтер,
- Расширение старого функционала, включая поддержка статических массивов, union переменных и поиск,
- Улучшение стабильности.

Скачать обновление бесплатно без смс и регистрации

Ссылка | Комментарии [2]
3 мая 2012

Marmalade 6.0 добавили HTML5 AloneR
Вышла новая версия Marmalade 6.0 — инструмента для создания игр и мультиплатформенных приложений для мобильных устройств на С++. В новой версии теперь можно создавать игры и приложения с использованием HTML5, CSS3 и JavaScript. Обеспечивается это полной поддержкой PhoneGap API.

Подробности на официальном сайте:
https://www.madewithmarmalade.com/marmalade

Ссылка | Комментарии [7]
18 апр. 2012

OpenGL ES 2.0 и EGL на ПК cNoNim
AMD выпустили набор библиотек, который позволит разработчикам приложений для встраиваемых систем
разрабатывать приложения на персональные компьютеры без необходимости эмуляции OpenGL ES 2.0.

AMD OpenGL ES SDK

На текущий момент поддерживаются платформы Microsoft Windows и Linux.

Ссылка | Комментировать
14 апр. 2012

Unity3d +IOS +Android = 0$ ! crol
На Unity Store вплоть до 8-го апреля 2012 можно бесплатно получить именной лицензионный ключ для разработки игр и приложений под IOS и Android. Нужно всего лишь пройти процедуру регистрации.

Напомним что ранее они стоили по 400$ каждая. Неизвестно почему акция только до 8-го числа, и реклама акции прошла лишь в твиттере, вероятно компании захотелось поднять численность инди-разработчиков под мобильные платформы, но при этом не лишать себя потока денег из этого направления в будущем. Также следует отметить, что по лицензионному соглашению можно публиковать свои игры под этими ключами бесплатно, пока ваши доходы с игр на Unity3D не пересекут черту в 100'000$, впрочем, после этой черты нужно всего лишь купить Pro-версии Unity.

Unity Store: https://store.unity3d.com/index.html

Ссылка | Комментарии [15]
8 мар. 2012

Программирование игр — создание компьютерной программы (программного обеспечения) с помощью языков программирования. В программирование игры, или создание игрового движка, входит программирование геймплея, создание 3D или 2D графики (при помощи OpenGL или DirectX, которые можно скачать бесплатно), поддержка физики и звукового сопровождения, обеспечение взаимодействия пользователя с игрой и с другими пользователями сетевой или онлайн игры, написание утилит и экспорта из пакетов моделирования, таких как 3DS MAX и Maya. Наиболее популярные среды для программирования игр: MS Visual Studio и Delphi.

Форум

Unreal Engine 217 мая 20121:06Valdemer
Заинтересовался вот движком Unreal (2004 года). Т.к. у меня нетбук, UE третий не пойдет. Только вот вопрос... ГДЕ СКАЧАТЬ UE 2?!?
Случайность и Unity3D16 мая 201221:2457n
Кто нибудь знает,можно ли создавать сцены случайно(имеется ввиду местность),если и вправду можно,то попрошу  маленький пример для освоения.
Intrusive list добавление и удаление елементов во время foreach16 мая 201220:19IROV..
Есть такой вот код
for( TListChild::const_iterator 
it = m_child.begin(), 
it_end = m_child.end();
it != it_end;
++it )
{
(*it)->update();
}

в момент update может удалится этот ребенок и тогда будет капец.
Есть лекарства?

помимо вот этих
1 не позволять такого
2 отложеная "процедура удаления"

Правка: 16 мая 2012 20:19

Проблемка...16 мая 201217:38GoshaSW
Оу....

Внезапно вылезло...
Разгадать источник проблемы не удалось.
Помогите пожалуйста...

include\NEngine.h|35|error: expected constructor, destructor, or type conversion before '*' token|
include\NEngine.h|36|error: expected constructor, destructor, or type conversion before '*' token|
||=== Build finished: 2 errors, 0 warnings ===|

#ifndef NENGINE_H
#define NENGINE_H

//тут много #include

/* 35 строчка */engine::NEngine* createEngine(engine::E_DRIVER_TYPE Driver = engine::EDT_OPENGL,int Width = 640,int Height = 480,int Bits = 16 ,bool FullScreen = false);
/* 36 строчка */engine::NEngine* createEngineEx(engine::SCreationParams param_);

#endif // NENGINE_H

И срр-шник
#include "NEngine.h"

#include "CEngine.h"

engine::NEngine* createEngine(engine::E_DRIVER_TYPE Driver,int Width,int Height,int Bits,bool FullScreen)
{
  engine::SCreationParams params;

  params.Driver = Driver;
  params.windowsize.Width = Width;
  params.windowsize.Height = Height;
  params.bits = Bits;
  params.fullscreen = FullScreen;

  return createEngineEx(params);
}

engine::NEngine* createEngineEx(engine::SCreationParams param_)
{
  return new CEngine(param_);
}

Правка: 16 мая 2012 18:22

Проблемы с строками16 мая 201216:36Smothik
Всем привет!
Сегодня попробовал функции копирования строк и вот что вышло
LPCWSTR str1=(LPCWSTR)"Sample string";
int i = 5;
 LPCWSTR str2[40];
LPCWSTR str3[40];
strcpy ((char *)str2,(char *)str1);
strcpy ((char *)str3,"copy successful");
MessageBox(NULL,(LPCWSTR)str3,(LPCWSTR)"sds",MB_OK);
выдает какуюто абракадабру
Изображение
Подскажите может надо использовать wsprintf()?
2.ППробовал копировать таким образом
har msgi = (char)"Exporting materials to " + (char)"Sample string";
MessageBox(NULL,(LPCWSTR)str3,(LPCWSTR)"sds",MB_OK);
при вызове бокса такая хрень
Изображение
Скажите может я не так что то делаю.И как воабще совмещать строки со строкими числами и тп.
Прикручиваю DX10. Сильно отличаются рендер стейты от DX9.16 мая 201216:15Kroll
Привет.
Занимаюсь сабжем. Возникли проблемы. Дело в том, что теперь в стэйты запихнули слишком много функционала, и тяжело
перевести это с DX9 на DX10/11.
Например, ID3D10BlendState содержит инфу и для AlphaBlend, и для RenderTargetWriteMask.
ID3D10RasterizerState содержит инфу и для Multisample, и для ScissorEnable. и так далее.

Раньше всё это включалось по отдельности. Теперь придётся создать все возможные вариации стейтов?

Например мне нужен AlphaBlendNormal, AlphaBlendAdditive и т.д., но с разными RenderTargetWriteMask. Создавать все комбинации?

Есть, конечно, мысль создать для каждого геометрического объекта свой набор таких стейтов. Но это как-то избыточно получается.

Кто как делает?

Winforms: две формы и поключение другого класса в 1 форме.16 мая 201216:03Anders333
Возникла потребность взаимосвязи между двумя формами. Делаю по примеру https://bitbucket.org/pashapash/twoformssample/src/0f3fb05d5fd3/TwoFormsSample/
Но у меня в первой форме еще поключается хидер с инициализацией графики. И вот собственно при построении решения выбивает error LNK2005.
Схема вызовов:
Form1.h:
#include "dx.h"
#pragma once
...

CreateItem1.h:
#pragma once
...


Form1.cpp:
#include "StdAfx.h"
#include "Form1.h"
#include "CreateItem1.h"

CreateItem1.cpp:
#include "StdAfx.h"
#include "Form1.h"
#include "CreateItem1.h"

Буду благодарен за совет, как правильно подключить хидер в таком случае.

Substruct polugons16 мая 201214:38Beginner
Доброе
Подскажи последовательность gl команд для стенсил буфера для получения такого эффекта
IMG_0002 | Unity3d +IOS +Android = 0$ !

Рисуется два треугольника, 012 и 230
Изначальное положение на рис 1
на рис 2 уголок второго треугольника мы затащили на территорию первого, соотвественно все что находится справа от линии 032 до штришков не должно отображаться
на рис 3 тоже нарисован первый треугольник, поверх него 302 и там где они пересекаются - исчезают

следующий код

glStencilFunc(GL_ALWAYS, 1, 1);
    glStencilOp(GL_REPLACE, GL_REPLACE, GL_REPLACE); 
  glDrawArrays(GL_TRIANGLES, 0, 3);
    
    glStencilFunc(GL_NOTEQUAL, 1, 1); 
    glStencilOp(GL_ZERO, GL_ZERO, GL_ZERO); 
    glDrawArrays(GL_TRIANGLES, 3, 3);
    
    
    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glStencilFunc(GL_EQUAL, 1, 255);
    glDrawArrays(GL_TRIANGLES, 0, 6);
в различных вариациях и комбинациях констант и т.п. ничего не дают, на рис 2 второй треугольник не вырезает место где он попадает на первый
Заранее благодарен

Аниматоры в Irrlicht16 мая 201214:09Ossir74
Надеюсь создал тему в правильной рубрике, если нет, посоветуйте где надо.
У ноды есть два аниматора. Необходимо, чтобы первый выполнился полностью, потом второй, но получается так, что выполняется только второй. Читал где-то, что аниматоры должны воспроизводиться в том порядке, в котором добавлены. Где я ошибся?
    if(receiver.IsKeyDown(KEY_KEY_1))
        {
          anim =
          smgr->createFlyStraightAnimator(tube->getPosition(),
          vector3df(-85,113,0), 500, false);
          anim2 =
          smgr->createFlyStraightAnimator(tube->getPosition(),
          vector3df(-20,50,0), 500, false);
          if (anim)
          {
             tube->addAnimator(anim);
             tube->addAnimator(anim2);
             anim->drop();
             anim2->drop();
          }
           } 
GUI для редактора16 мая 201213:59alexes
Насколько я понял Blender, Unity, UDK и подобные использую свой GUI для редакторов. Хочется для своего редактора интерфейс типа Blender.
По каким запросам гуглить, не могу найти правильно направление. Или такое пишется с нуля?

Правка: 16 мая 2012 13:59

2001—2012 © GameDev.ru — Разработка игр