ria pc game
fle game engine - движок дл€ создани€ игр
fle game engine - движок дл€ создани€ игр


Balls and holes PC game / Balls and Holes PC игра
Dragonella игра верси€ 17.09.2020 браузерна€ /скачиваема€
¬акансии
»гродельн€
—егодн€
28 марта 2023 2:52
¬ход –егистраци€ «абыли пароль ?

megainformatic -  ост€  оробкин - ¬ гост€х у тЄти —веты (kk as) - онлайн комикс - страница 10
 ост€  оробкин - ¬ гост€х у тЄти —веты (kk as) - онлайн комикс - страница 10 ќнлайн-комикс  ост€  оробкин - ¬ гост€х у тЄти —веты - интерактивный комикс (kk as). -  ак здесь красиво. - » подозрительно тихо.
подробнее...

“еги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
 
ѕрограммы
—татьи сайта
megainformatic - megainformatic cms express files + module slider

megainformatic - —оздание сайта бесплатно или под заказ

megainformatic -  ак создать flash баннер

megainformatic - –азработка flash-приложени€ дл€ сайта: онлайн примерочна€

megainformatic - ћои впечатлени€ о книге - ¬ладислав  рапивин - ∆уравленок и ћолнии

megainformatic - ћодуль отзывов/комментариев дл€ вашего сайта

megainformatic - ћодуль отзывов/комментариев дл€ вашего сайта

megainformatic - ћодуль отзывов/комментариев дл€ вашего сайта

megainformatic - ћодуль короткие ссылки short link

megainformatic - –абота с сокетами fsocket из php

megainformatic -  ак создать игру —оздание игровых панелей и индикаторов

megainformatic - ѕриключени€  ости  оробкина -  ак € провел лето - интерактивный комикс

megainformatic - ѕриключени€  ости  оробкина -  ак € провел лето - интерактивный комикс

megainformatic - ѕриключени€  ости  оробкина - — новым годом - интерактивный комикс

megainformatic - —истема управлени€ сайтом на php - megainformatic cms admin files

megainformatic - обзор антивирусных средств защиты

megainformatic - как работает антивирус ?

megainformatic - —оздание сайта дл€ бизнеса

megainformatic - Ќовый взгл€д на очевидные вещи

megainformatic - –азработка программ на c++

megainformatic - Ќемного о музыке

megainformatic - GET и POST запросы

megainformatic - дл€ чего нужна карта сайта

megainformatic - Web јдминистрирование

megainformatic - ћысли о разном

megainformatic - Ћегко ли быть программистом

megainformatic - √лубины программировани€ на C++

megainformatic - ”бираем лимит на размер импортируемого файла в PhpMyAdmin

megainformatic -  ак создать torrent файл

megainformatic - Ќужна ли валидаци€ вашему сайту ?

megainformatic - јнтивирус DrWeb

megainformatic -  алькул€тор рассчЄта стоимости зубопротезировани€ дл€ стоматологической клиники

megainformatic - „то такое BitTorrent (Ѕит“оррент)

megainformatic - ћиссис ƒаутфайр 1993 фильм torrent

megainformatic -  ак скачивать торрент-раздачу ?

megainformatic - јвтотелега фильтр

megainformatic - ‘ильмы

megainformatic - Fahrengeit ‘аренгейт игра 2006 дл€ PC

megainformatic - Fez игра дл€ PC 2013

megainformatic - ƒневник пам€ти - фильм 2004

megainformatic - Scooter - The night - Video and Lyrics - —кутер - Ќочь - ¬идео и лирика

megainformatic - ≈сли всЄ же неудача

megainformatic - —мерть или искупление или избавление

megainformatic - ѕо ту сторону

cj megainformatic - музыкальный альбом Ѕ≈— ќЌ≈„Ќќ≈ ƒ¬»∆≈Ќ»≈ ќ∆»ƒјЌ»≈ » ƒ≈…—“¬»≈

megainformatic -  ост€  оробкин - —екретный проект - интерактивный комикс

megainformatic - ќсновы анимации во флеш на примере анимировани€ простейшей окружности

megainformatic - ѕарсер сайтов ¬ведение

megainformatic - я пишу музыку дл€ себ€ и дл€ продажи

megainformatic - —татьи на околомузыкальные темы - осень 2014 часть 1

megainformatic - рассказ - „ужие воспоминани€ - автор —иницин јндрей - 24.09.2014

megainformatic - —айты живущие вне поисковых систем. ≈сть ли такие и как их найти ?

megainformatic - Game craft - проект разработки игровых и мультимедийных проектов

megainformatic - Game craft - моделируем scv

megainformatic - Game craft - моделируем scv - шаг 1 (часть 2)

megainformatic - Game craft - моделируем scv - шаг 2 (часть 3)

 

ѕрограммирование игр на —++ дл€ платформы DirectX 9c

 
     
  Ќаписание приложени€ DirectX9c + MFC в среде MSVS 2005  
     
 

ƒанный урок €вл€етс€ введением в программирование на C++ в MSVS 2008

¬ам нужно иметь установленную среду Microsoft Visual Studio 2005 или 2008 (можно триал),

и DirectX SDK 9 версии, или лучше самой последней - DirectX SDK August 2008.

 
     
  [назад] [далее] [к содержанию]  
     
 

ѕричины побудившие мен€ к написанию данной серии статей достаточно просты - поделитьс€ своим опытом в области создани€ игр на VC++ в среде MSVS 2005 дл€ DirectX 9c

¬ данном уроке € попытаюсь рассказать о том, как подойти к созданию приложени€ сочетающего использование интерфейсов DirectX 9c и классов из библиотеки MFC

 
     
 

ЌачнЄм с того, что в DirectX SDK August 2008 не представлен ни один из примеров приложени€, рассчитанного на совместное использование DirectX и классов MFC.

ѕо видимому предполагаетс€, что тема достаточно тривиальна дл€ тех, кто работает с DirectX

ќднако мне это представл€етс€ не совсем так.

«ачем ¬ам в приложении DirectX могут понадобитс€ классы MFC?

¬о-первых, MFC содержит целый р€д просто необходимых классов, а значит и решени€ тех стандартных задач, которые трудно решить на голом WinAPI.

¬ частности если ¬аше приложение DirectX подразумевает работу в стандартном окне и €вл€етс€ какой-либо утилитой используемой в разработке ¬ашей игры (например редактор карт), то без использовани€ MFC ¬ам просто не обойтись.

¬о-вторых, даже если ¬аша игра будет большую часть времени работать в полноэкранном режиме, классы MFC ¬ам всЄ равно понадоб€тс€ дл€ решение многих типовых задач.

»менно базиру€сь на этих двух причинах следует рассмотреть как подойти к совместному использованию DirectX и MFC в своЄм приложении.

 
     
 

ƒл€ простоты мы разберем некий базис - шаблон приложени€, рассчитанного на DirectX9c + MFC

ѕоследовательность создани€ приложени€ D3D9 (DirectX 9c) + MFC
в MSVS 2005

File > New > Project > MFC > MFC Application

опции
Dialog based
€зык - јнглийский (—Ўј) - потом помен€ем на русский (при создании диалогов и изменении
их свойств)
MFC standard
Use MFC in a static library
Use Unicode libraries
остальные опции на своЄ усмотрение или по-умолчанию

ѕосле генерации приложени€ нужно настроить проект дл€ использовани€ заголовочных
файлов и библиотек DirectX 9c как это показано в уроке ѕервый старт

ƒобавить исходный код из DXUT - это набор вспомогательного кода, который ¬ы найдете внутри [DirectXSDK]\Samples\C++\DXUT\

 од данной папки ориентирован на использование в WinAPI-приложении без использовани€ MFC

ƒл€ использовани€ в MFC-проекте код потребует небольших модификаций во всех файлах *.cpp из папок Core и Optional нужно добавить строку #include "stdafx.h" перед строкой #include "DXUT.h" в самом начале каждого файла. ƒл€ простоты создайте копию содержимого папки DXUT, назвав например DXUT_mfc и смело вносите эти изменени€. ѕосле этих изменений в качестве заголовочного файла управл€ющего прекомпилированными модул€ми будет задан stdafx.h что и имеет место в созданном ¬ами MFC-приложении, в противном случае ¬ы получите ошибки во врем€ компил€ции.

 од папки DXUT_mfc нужно добавить к коду проекта - в окне Solution Explorer щелкните правой кнопкой по названию проекта, выберите Add > New Filter, который назовите DXUT_mfc.

 
     
   
     
 

и добавьте все файлы из папки DXUT_mfc кроме DXUTguiIME.* и ImeUi.*

ƒанные файлы относ€тс€ к использованию национальных €зыков и ¬ам пока не потребуютс€.

 
     
 

ƒобавить шаблонный код дл€ начальной инициализации типового D3D9 - приложени€

–ассмотрим что нужно добавить на примере проекта D3DAppTemplate

¬ модуле D3DAppTemplate.h нужно внести следующие изменени€ и дополнени€ -

#include <d3d9.h>
#include <d3dx9.h>

#include "D3DAppTemplateDlg.h"

внутри описани€ класса class CD3DAppTemplateApp

~CD3DAppTemplateApp();

в конце описани€ класса

public:
CD3DAppTemplateDlg* pMainWindow;

¬ модуле D3DAppTemplate.cpp

#include "DXUT.h"
#include "DXUTcamera.h"
#include "DXUTsettingsdlg.h"
#include "SDKmisc.h"
#include "SDKsound.h"

 

 

//--------------------------------------------------------------------------------------
// Global variables
//--------------------------------------------------------------------------------------

ID3DXFont* g_pFont = NULL; // Font for drawing text
ID3DXSprite* g_pTextSprite = NULL; // Sprite for batching draw text calls
CFirstPersonCamera g_Camera; // A model viewing camera
CSoundManager g_DSound; // DirectSound class

bool g_bShowHelp = true; // If true, it renders the UI control text
bool g_bPlaySounds = true; // whether to play sounds
double g_fLastAnimTime = 0.0; // Time for the animations


//--------------------------------------------------------------------------------------
// Forward declarations
//--------------------------------------------------------------------------------------
bool CALLBACK IsDeviceAcceptable( D3DCAPS9* pCaps, D3DFORMAT AdapterFormat, D3DFORMAT BackBufferFormat, bool bWindowed,
void* pUserContext );
bool CALLBACK ModifyDeviceSettings( DXUTDeviceSettings* pDeviceSettings, void* pUserContext );
HRESULT CALLBACK OnCreateDevice( IDirect3DDevice9* pd3dDevice, const D3DSURFACE_DESC* pBackBufferSurfaceDesc,
void* pUserContext );
HRESULT CALLBACK OnResetDevice( IDirect3DDevice9* pd3dDevice, const D3DSURFACE_DESC* pBackBufferSurfaceDesc,
void* pUserContext );
void CALLBACK OnFrameMove( double fTime, float fElapsedTime, void* pUserContext );
void CALLBACK OnFrameRender( IDirect3DDevice9* pd3dDevice, double fTime, float fElapsedTime, void* pUserContext );
LRESULT CALLBACK MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bool* pbNoFurtherProcessing,
void* pUserContext );
void CALLBACK KeyboardProc( UINT nChar, bool bKeyDown, bool bAltDown, void* pUserContext );
void CALLBACK OnGUIEvent( UINT nEvent, int nControlID, CDXUTControl* pControl, void* pUserContext );
void CALLBACK OnLostDevice( void* pUserContext );
void CALLBACK OnDestroyDevice( void* pUserContext );
void RenderText();

void InitApp();

void InitialD3DAppSettings();

 

CD3DAppTemplateApp::CD3DAppTemplateApp()
{
// TODO: add construction code here,
// Place all significant initialization in InitInstance
pMainWindow = NULL;
}

 

 

BOOL CD3DAppTemplateApp::InitInstance()
{
// InitCommonControlsEx() is required on Windows XP if an application
// manifest specifies use of ComCtl32.dll version 6 or later to enable
// visual styles. Otherwise, any window creation will fail.
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
// Set this to include all the common control classes you want to use
// in your application.
InitCtrls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);

CWinApp::InitInstance();

AfxEnableControlContainer();

// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need
// Change the registry key under which our settings are stored
// TODO: You should modify this string to be something appropriate
// such as the name of your company or organization
SetRegistryKey(_T("Local AppWizard-Generated Applications"));

 

pMainWindow = new CD3DAppTemplateDlg();
pMainWindow->Create(CD3DAppTemplateDlg::IDD);
pMainWindow->ShowWindow(SW_SHOW);
pMainWindow->ShowWindow(SW_HIDE);

m_pMainWnd = pMainWindow;

InitialD3DAppSettings();

//g_d3dApp.Cleanup3DEnvironment();

delete pMainWindow;

pMainWindow = NULL;

// Since the dialog has been closed, return FALSE so that we exit the
// application, rather than start the application's message pump.
return FALSE;
}

 

void InitialD3DAppSettings()
{
// Enable run-time memory check for debug builds.
#if defined(DEBUG) | defined(_DEBUG)
_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
#endif

// Set the callback functions. These functions allow DXUT to notify
// the application about device changes, user input, and windows messages. The
// callbacks are optional so you need only set callbacks for events you're interested
// in. However, if you don't handle the device reset/lost callbacks then the sample
// framework won't be able to reset your device since the application must first
// release all device resources before resetting. Likewise, if you don't handle the
// device created/destroyed callbacks then DXUT won't be able to
// recreate your device resources.
DXUTSetCallbackD3D9DeviceAcceptable( IsDeviceAcceptable );
DXUTSetCallbackD3D9DeviceCreated( OnCreateDevice );
DXUTSetCallbackD3D9DeviceReset( OnResetDevice );
DXUTSetCallbackD3D9FrameRender( OnFrameRender );
DXUTSetCallbackD3D9DeviceLost( OnLostDevice );
DXUTSetCallbackD3D9DeviceDestroyed( OnDestroyDevice );

DXUTSetCallbackMsgProc( MsgProc );

DXUTSetCallbackKeyboard( KeyboardProc );
DXUTSetCallbackFrameMove( OnFrameMove );
DXUTSetCallbackDeviceChanging( ModifyDeviceSettings );

// Show the cursor and clip it when in full screen
DXUTSetCursorSettings( true, true );

InitApp();

// Initialize DXUT and create the desired Win32 window and Direct3D
// device for the application. Calling each of these functions is optional, but they
// allow you to set several options which control the behavior of the framework.
DXUTInit( true, true ); // Parse the command line and show msgboxes
DXUTSetHotkeyHandling( true, true, true ); // handle the defaul hotkeys

/*DXUTCreateWindow( L"D3D9 App Template", 0, 0, LoadMenu(0,
MAKEINTRESOURCE(IDR_MAINMENU)) );*/
DXUTCreateWindow( L"D3D9 App Template", 0, 0, 0);

SetWindowLong( DXUTGetHWND(), GWL_STYLE,
WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX);

// We need to set up DirectSound after we have a window.
g_DSound.Initialize( DXUTGetHWND(), DSSCL_PRIORITY );


DXUTCreateDevice( true, 631, 380 );

//InitD3DApp();

// Pass control to DXUT for handling the message pump and
// dispatching render calls. DXUT will call your FrameMove
// and FrameRender callback when there is idle time between handling window messages.
DXUTMainLoop();

// Perform any application-level cleanup here. Direct3D device resources are released within the
// appropriate callback functions and therefore don't require any cleanup code here.

//return DXUTGetExitCode();
}

//--------------------------------------------------------------------------------------
// Initialize the app
//--------------------------------------------------------------------------------------
void InitApp()
{
// Add mixed vp to the available vp choices in device settings dialog.
DXUTGetD3D9Enumeration()->SetPossibleVertexProcessingList( true, false, false, true );

// Setup the camera with view matrix
D3DXVECTOR3 vEye( .5f, .55f, -.2f );
D3DXVECTOR3 vAt( .5f, .125f, .5f );
g_Camera.SetViewParams( &vEye, &vAt );
g_Camera.SetScalers( 0.01f, 1.0f ); // Camera movement parameters

}


//--------------------------------------------------------------------------------------
// Called during device initialization, this code checks the device for some
// minimum set of capabilities, and rejects those that don't pass by returning false.
//--------------------------------------------------------------------------------------
bool CALLBACK IsDeviceAcceptable( D3DCAPS9* pCaps, D3DFORMAT AdapterFormat,
D3DFORMAT BackBufferFormat, bool bWindowed, void* pUserContext )
{
// Skip backbuffer formats that don't support alpha blending
IDirect3D9* pD3D = DXUTGetD3D9Object();
if( FAILED( pD3D->CheckDeviceFormat( pCaps->AdapterOrdinal, pCaps->DeviceType,
AdapterFormat, D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING,
D3DRTYPE_TEXTURE, BackBufferFormat ) ) )
return false;

// Need to support ps 2.0
if( pCaps->PixelShaderVersion < D3DPS_VERSION( 2, 0 ) )
return false;

// Need to support A8R8G8B8 textures
if( FAILED( pD3D->CheckDeviceFormat( pCaps->AdapterOrdinal, pCaps->DeviceType,
AdapterFormat, 0,
D3DRTYPE_TEXTURE, D3DFMT_A8R8G8B8 ) ) )
return false;

return true;
}

//--------------------------------------------------------------------------------------
// This callback function is called immediately before a device is created to allow the
// application to modify the device settings. The supplied pDeviceSettings parameter
// contains the settings that the framework has selected for the new device, and the
// application can make any desired changes directly to this structure. Note however that
// DXUT will not correct invalid device settings so care must be taken
// to return valid device settings, otherwise IDirect3D9::CreateDevice() will fail.
//--------------------------------------------------------------------------------------
bool CALLBACK ModifyDeviceSettings( DXUTDeviceSettings* pDeviceSettings, void* pUserContext )
{
assert( DXUT_D3D9_DEVICE == pDeviceSettings->ver );

HRESULT hr;
IDirect3D9* pD3D = DXUTGetD3D9Object();
D3DCAPS9 caps;

V( pD3D->GetDeviceCaps( pDeviceSettings->d3d9.AdapterOrdinal,
pDeviceSettings->d3d9.DeviceType,
&caps ) );

// If device doesn't support HW T&L or doesn't support 1.1 vertex shaders in HW
// then switch to SWVP.
if( ( caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT ) == 0 ||
caps.VertexShaderVersion < D3DVS_VERSION( 1, 1 ) )
{
pDeviceSettings->d3d9.BehaviorFlags = D3DCREATE_SOFTWARE_VERTEXPROCESSING;
}

// If the hardware cannot do vertex blending, use software vertex processing.
if( caps.MaxVertexBlendMatrices < 2 )
pDeviceSettings->d3d9.BehaviorFlags = D3DCREATE_SOFTWARE_VERTEXPROCESSING;

// If using hardware vertex processing, change to mixed vertex processing
// so there is a fallback.
if( pDeviceSettings->d3d9.BehaviorFlags & D3DCREATE_HARDWARE_VERTEXPROCESSING )
pDeviceSettings->d3d9.BehaviorFlags = D3DCREATE_MIXED_VERTEXPROCESSING;

// Debugging vertex shaders requires either REF or software vertex processing
// and debugging pixel shaders requires REF.
#ifdef DEBUG_VS
if( pDeviceSettings->d3d9.DeviceType != D3DDEVTYPE_REF )
{
pDeviceSettings->d3d9.BehaviorFlags &= ~D3DCREATE_HARDWARE_VERTEXPROCESSING;
pDeviceSettings->d3d9.BehaviorFlags &= ~D3DCREATE_PUREDEVICE;
pDeviceSettings->d3d9.BehaviorFlags |= D3DCREATE_SOFTWARE_VERTEXPROCESSING;
}
#endif
#ifdef DEBUG_PS
pDeviceSettings->d3d9.DeviceType = D3DDEVTYPE_REF;
#endif
// For the first device created if its a REF device, optionally display a warning dialog box
static bool s_bFirstTime = true;
if( s_bFirstTime )
{
s_bFirstTime = false;
if( pDeviceSettings->d3d9.DeviceType == D3DDEVTYPE_REF )
DXUTDisplaySwitchingToREFWarning( pDeviceSettings->ver );
}

return true;
}


//--------------------------------------------------------------------------------------
// This callback function will be called immediately after the Direct3D device has been
// created, which will happen during application initialization and windowed/full screen
// toggles. This is the best location to create D3DPOOL_MANAGED resources since these
// resources need to be reloaded whenever the device is destroyed. Resources created
// here should be released in the OnDestroyDevice callback.
//--------------------------------------------------------------------------------------
HRESULT CALLBACK OnCreateDevice( IDirect3DDevice9* pd3dDevice, const D3DSURFACE_DESC* pBackBufferSurfaceDesc,
void* pUserContext )
{
HRESULT hr;



// Initialize the font

V_RETURN( D3DXCreateFont( pd3dDevice, 10, 0, 0, 1, FALSE, DEFAULT_CHARSET,
OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE,
L"MS Sans Serif ", &g_pFont ) );



// Define DEBUG_VS and/or DEBUG_PS to debug vertex and/or pixel shaders with the
// shader debugger. Debugging vertex shaders requires either REF or software vertex
// processing, and debugging pixel shaders requires REF. The
// D3DXSHADER_FORCE_*_SOFTWARE_NOOPT flag improves the debug experience in the
// shader debugger. It enables source level debugging, prevents instruction
// reordering, prevents dead code elimination, and forces the compiler to compile
// against the next higher available software target, which ensures that the
// unoptimized shaders do not exceed the shader model limitations. Setting these
// flags will cause slower rendering since the shaders will be unoptimized and
// forced into software. See the DirectX documentation for more information about
// using the shader debugger.
DWORD dwShaderFlags = D3DXFX_NOT_CLONEABLE;

#if defined( DEBUG ) || defined( _DEBUG )
// Set the D3DXSHADER_DEBUG flag to embed debug information in the shaders.
// Setting this flag improves the shader debugging experience, but still allows
// the shaders to be optimized and to run exactly the way they will run in
// the release configuration of this program.
dwShaderFlags |= D3DXSHADER_DEBUG;
#endif

#ifdef DEBUG_VS
dwShaderFlags |= D3DXSHADER_FORCE_VS_SOFTWARE_NOOPT;
#endif
#ifdef DEBUG_PS
dwShaderFlags |= D3DXSHADER_FORCE_PS_SOFTWARE_NOOPT;
#endif

return S_OK;
}


//--------------------------------------------------------------------------------------
// This callback function will be called immediately after the Direct3D device has been
// reset, which will happen after a lost device scenario. This is the best location to
// create D3DPOOL_DEFAULT resources since these resources need to be reloaded whenever
// the device is lost. Resources created here should be released in the OnLostDevice
// callback.
//--------------------------------------------------------------------------------------
HRESULT CALLBACK OnResetDevice( IDirect3DDevice9* pd3dDevice,
const D3DSURFACE_DESC* pBackBufferSurfaceDesc, void* pUserContext )
{
HRESULT hr;


// get device caps
D3DCAPS9 caps;
pd3dDevice->GetDeviceCaps( &caps );


if( g_pFont )
V_RETURN( g_pFont->OnResetDevice() );


// Create a sprite to help batch calls when drawing many lines of text
V_RETURN( D3DXCreateSprite( pd3dDevice, &g_pTextSprite ) );

// Setup the camera's projection parameters
float fAspectRatio = pBackBufferSurfaceDesc->Width / ( FLOAT )pBackBufferSurfaceDesc->Height;
g_Camera.SetProjParams( D3DX_PI / 3, fAspectRatio, 0.001f, 100.0f );

// set lighting
pd3dDevice->SetRenderState( D3DRS_LIGHTING, TRUE );
pd3dDevice->SetRenderState( D3DRS_AMBIENT, D3DCOLOR_ARGB( 255, 255, 255, 255 ) );
pd3dDevice->LightEnable( 0, TRUE );
pd3dDevice->SetRenderState( D3DRS_NORMALIZENORMALS, TRUE );


// reset the timer
g_fLastAnimTime = DXUTGetGlobalTimer()->GetTime();

return S_OK;
}

//--------------------------------------------------------------------------------------
// This callback function will be called once at the beginning of every frame. This is the
// best location for your application to handle updates to the scene, but is not
// intended to contain actual rendering calls, which should instead be placed in the
// OnFrameRender callback.
//--------------------------------------------------------------------------------------
void CALLBACK OnFrameMove( double fTime, float fElapsedTime, void* pUserContext )
{

g_fLastAnimTime = fTime;

// Update the camera's position based on user input
g_Camera.FrameMove( fElapsedTime );


}


//--------------------------------------------------------------------------------------
// This callback function will be called at the end of every frame to perform all the
// rendering calls for the scene, and it will also be called if the window needs to be
// repainted. After this function has returned, DXUT will call
// IDirect3DDevice9::Present to display the contents of the next buffer in the swap chain
//--------------------------------------------------------------------------------------
void CALLBACK OnFrameRender( IDirect3DDevice9* pd3dDevice, double fTime, float fElapsedTime, void* pUserContext )
{

pd3dDevice->Clear( 0L, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
0xFFA1E1FF, 1.0f, 0L );

if( SUCCEEDED( pd3dDevice->BeginScene() ) )
{

//
// Output text information
//
RenderText();

pd3dDevice->EndScene();
}
}


//--------------------------------------------------------------------------------------
// Render the help and statistics text. This function uses the ID3DXFont interface for
// efficient text rendering.
//--------------------------------------------------------------------------------------
void RenderText()
{
// The helper object simply helps keep track of text position, and color
// and then it calls pFont->DrawText( m_pSprite, strMsg, -1, &rc, DT_NOCLIP, m_clr );
// If NULL is passed in as the sprite object, then it will work however the
// pFont->DrawText() will not be batched together. Batching calls will improves performance.
CDXUTTextHelper txtHelper( g_pFont, g_pTextSprite, 10 );
const D3DSURFACE_DESC* pd3dsdBackBuffer = DXUTGetD3D9BackBufferSurfaceDesc();

// Output statistics
txtHelper.Begin();
txtHelper.SetInsertionPos( 5, 5 );
txtHelper.SetForegroundColor( 0xFF0000FF );


txtHelper.DrawTextLine( DXUTGetFrameStats( true ) );

txtHelper.End();
}


//--------------------------------------------------------------------------------------
// As a convenience, DXUT inspects the incoming windows messages for
// keystroke messages and decodes the message parameters to pass relevant keyboard
// messages to the application. The framework does not remove the underlying keystroke
// messages, which are still passed to the application's MsgProc callback.
//--------------------------------------------------------------------------------------
void CALLBACK KeyboardProc( UINT nChar, bool bKeyDown, bool bAltDown, void* pUserContext )
{
if( bKeyDown )
{
switch( nChar )
{
case VK_F1:
g_bShowHelp = !g_bShowHelp; break;
}
}
}


//--------------------------------------------------------------------------------------
// Before handling window messages, DXUT passes incoming windows
// messages to the application through this callback function. If the application sets
// *pbNoFurtherProcessing to TRUE, then DXUT will not process this message.
//--------------------------------------------------------------------------------------
LRESULT CALLBACK MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bool* pbNoFurtherProcessing,
void* pUserContext )
{


g_Camera.HandleMessages( hWnd, uMsg, wParam, lParam );

return 0;
}


//--------------------------------------------------------------------------------------
// This callback function will be called immediately after the Direct3D device has
// been destroyed, which generally happens as a result of application termination or
// windowed/full screen toggles. Resources created in the OnCreateDevice callback
// should be released here, which generally includes all D3DPOOL_MANAGED resources.
//--------------------------------------------------------------------------------------
void CALLBACK OnDestroyDevice( void* pUserContext )
{

SAFE_RELEASE( g_pFont );

//g_d3dApp.Cleanup3DEnvironment(); //методы освобождени€ ресурсов нужно вызывать именно

//здесь. ¬ данном примере g_d3dApp - объект игрового приложени€ не используетс€, поэтому он здесь закомментирован. ¬ приложении с игрой освобождение ресурсов происходит именно так.
}

//--------------------------------------------------------------------------------------
// This callback function will be called immediately after the Direct3D device has
// entered a lost state and before IDirect3DDevice9::Reset is called. Resources created
// in the OnResetDevice callback should be released here, which generally includes all
// D3DPOOL_DEFAULT resources. See the "Lost Devices" section of the documentation for
// information about lost devices.
//--------------------------------------------------------------------------------------
void CALLBACK OnLostDevice( void* pUserContext )
{

if( g_pFont )
g_pFont->OnLostDevice();

SAFE_RELEASE( g_pTextSprite );




}

 
     
  Ётот же код вы найдете внутри модулей D3DAppTemplate.h и D3DAppTemplate.cpp в проекте D3DAppTemplate -  
     
  »сходный код приложени€ D3DAppTemplate - 269  б, архив WinRaR 3.3 - »сходный код приложени€ D3DAppTemplate - 270  б, архив WinRaR 3.3  
     
  ќсобенностью работы данного приложени€ €вл€етс€ то, что в качестве первоначального (главного) окна используетс€ стандартное окно диалога. Ёто окно создаетс€ как немодальное (modeless), затем оно отображаетс€ и тут же скрываетс€, уступа€ очередь созданному окну DirectX-приложени€  
     
  —хема функционировани€ выгл€дит следующим образом -  
     
   
     
 

¬ начале создаетс€ объект класса CD3DAppTemplateApp путЄм вызова его конструктора

CD3DAppTemplateApз();

«атем вызываетс€ метод InitInstance() внутри которого и осуществл€етс€ вс€ ицициализаци€, касающа€с€ mfc и directx.

¬место созданного модального диалога, содержащего кнопки OK и Cancel создаетс€ немодальное окно, которое отображаетс€ и тут же скрываетс€, а далее вызываетс€ функци€ InitialD3DAppSettings() котора€ отвечает за всЄ дальнейшее св€занное с directx.

ƒл€ настройки directx вызываетс€ функци€ InitialD3DAppSettings(); ¬нутри неЄ происходит настройка directx, создание окна directx-приложени€ и запуск цикла очереди сообщений вызовом функции DXUTMainLoop();  ак это реализовано в детал€х - смотри выше или в исходном коде проекта D3DAppTemplate

ƒалее все необходимые сообщени€ системы можно обрабатывать внутри функции MsgProc, а собственно игровую логику и отрисовку игровой сцены производить внутри функций OnFrameMove и OnFrameRender

ѕри выходе из приложени€ вызовом exit() или PostQuitMessage DXUTMainLoop завершаетс€, управление возвращаетс€ внутрь метода InitInstance, метод возвращает FALSE, что свидетельстует о ненужности запуска цикла очереди сообщений и приложение закрываетс€. ѕри уничтожении вызываетс€ метод деструктора ~CD3DAppTemplateApp() внутри которого удал€етс€ созданный объект немодального главного окна приложени€.

 
     
 

ќсобенность данного решени€ поставленной задачи: mfc + directx9c в простоте реализации.

Ќедостаток состоит в том, что требуетс€ использование вспомогательного окна, которое в целом никак не используетс€ - лишь отображаетс€, а затем скрываетс€. Ќо использование его требуетс€ по той причине, что класс CWinApp в своЄм свойстве m_pMainWnd об€зательно требует окна производного от CWnd, каковым окно приложени€, создаваемое дл€ directx-приложени€ средствами WinAPI не €вл€етс€.

ћожно конечно предложить более сложный способ - использовать главное окно дл€ целей directx, однако это значительно усложнит задачу, потребу€ сильных изменений в реализации функции InitialD3DAppSettings() главным образом дл€ использовани€ готового окна, а не его создани€, переделки DXUTMainLoop дл€ работы исход€ из очереди сообщений прокачиваемых через методы CWinApp и некоторые другие.

 
     
 

ћоей целью было предложить ¬ам достаточно простой способ совместного использовани€ directx9c и mfc и € считаю, что таковой и предложил ¬ам. ѕо мере накоплени€ ¬ами опыта в программировани€ на directx + mfc ¬ы, возможно, найдете дл€ себ€ более оптимальные решени€, еще более подход€щие дл€ ¬аших нужд.

“ак что желаю ¬ам вс€ческих успехов на этом поприще.

—ам же €, €вл€€сь по-сути Delphi DirectX - программистом вот уже начина€ с далекого 2002 года, могу сказать, что использование дл€ этих целей VC++ не намного сложнее, а в чЄм-то даже проще. Ќо то, что ¬ы выберете дл€ использовани€ с DirectX - C++ или Delphi будет всецело зависеть от ¬аших возможностей в насто€щем времени, главным образом касающихс€ наличи€ у ¬ас под рукой той или иной среды программировани€ BDS (Borland Developer Studio) или MSVS (Microsoft Visual Studio) и опыта в работе с ними.

ѕри желании ¬ам всегда можно будет перейти с C++ на Delphi и наоборот, как это имело место в моЄм случае.

 
     
 

“ак что же лучше Delphi или C++ ???

- –ешать ¬ам!

 
     
     
     
     
     
     
  [назад] [далее] [к содержанию]  
оцените статью:
0
ѕонравилось!
0
Ќе понравилось!


     
  игры, музыкальные клипы
enterra игра на java libgdx - скачать
скачать
enterra 3d игра на godot 3.5.1 - скачать
скачать
ћузыкальна€ новогодн€€ ночь 2023
смотреть
   
   
     
     
     
     
  музыкальный клип, игры
Kate Ryan - Ella Elle L'a клип смотреть
смотреть
sexonix играть в браузере
играть
ћноголикий: dress - hordes pc игра free верси€ - скачать
скачать
ћноголикий: dress - приключени€ начинаютс€ - parallel reality - скачать - верси€ дл€ Win, Linux, браузерна€ и android
скачать
   
     
     
     
  разработка игр, анимационный фильм, новогодн€€ дискотека 2020 - песни на италь€нском, игра про лифт
разработка игры gdess 2 видео-дневники разработки
смотреть
»гра ƒарвина смотреть
смотреть
ciao 2020 - чао 2020 - новогодн€€ дискотека в италь€нском стиле от »вана ”рганта и компании
смотреть
One Way The Elevator проходим игру вместе с Dr. Perec !!!
смотреть
   
     
     
  игры, инструменты разработки, анимационный фильм, фильм.
ЅќЋ№Ўјя »√–ј или —≈ –≈“џ ”—ѕ≈’ј которых вы можете достичь сами - уникальный набор инструментов, игровых движков (на delphi, c++, html5), проектов, обучающих уроков и материалов, исходных кодов реальных игр и многое другое - все создано 1 человеком - представлен накопленный за 14 лет опыт
купить
јстра затер€нна€ в космосе смотреть
смотреть
 ост€ Ќика ¬рем€ Ћета 2006 фильм смотреть онлайн
смотреть
¬ременной поток - игра в жанре визуальной новеллы - скачать
скачать
   
     
     
  игры
Witches Trainer 1.6 and Innocent Witches 0.1 - Ўкола ведьм и Ќевинные ведьмы - игра скачать
скачать
Futa in the Police Academy - игра скачать
скачать
gdess cкачать игру про Ќику и  остю
скачать
gdess2 приобрести игру про Ќику и  остю
купить
   
     
  игры в браузере
Prince of Persia аркада, фихтование, экшн, adventure в браузере
играть
Dreams Reality ћечты и –еальность играть в браузере
играть
Little Office Trouble Ќебольша€ ќфисна€ ќкази€ играть в браузере
играть
Tetris в браузере
играть
   
     
     
  игры в браузере
Neon Battle Tank 2 аркада в браузере
играть
Robocop аркада в браузере
играть
Robocop (Ocean верси€) аркада в браузере
играть
Karateka аркада, драки в браузере
играть
   
     
     
  игры в браузере
Prehistorik 2 - аркада в браузере
играть
»гры с конкурса  од 15 - посмотреть стримы The Dreik, megainformatic,  отострим, скачать игры
играть
Ѕольша€ игра Mega game играть в браузере
играть
Black planet „ерна€ планета - играть в браузере, почитать о еЄ разработке
играть
   
     
     
  игры в браузере
Teenage Mutant Ninja Turtles II аркада в браузере
играть
2 nights играть в браузере
играть
Wolfenstein 3D - экшн в браузере
играть
Golden Axe - экшн в браузере
играть
   
     
     
  игры в браузере (3), создание музыки в браузере (1)
Aladdin аркада в браузере
играть
Surprise! Adlib Tracker 2 (sadt 2) в браузере
играть
Lamborghini аркада, гонки в браузере
играть
Risky Woods аркада в браузере
играть
   
     
     
  игры в браузере
Black Box horror играть в браузере
играть
Ћюбовные булавки logic играть в браузере
играть
Fire power игра про танки в браузере
играть
Red Ball Forever аркада играть в браузере
играть
   
     
     
  игры в браузере
Teresa - dos эро квест в браузере
играть
Shadow Knights аркада про ниндз€ в браузере
играть
Ѕ -0010.01 эмул€тор теперь браузере
бк 0010.01 - играть!
The Cycles - International Grand Prix Racing играть в браузере
играть
   
     
     
  игры в браузере
Fantastic Dizzy adventure игра в браузере
играть
Ugh! аркадна€ игра в браузере
играть
Budokan: The Martial Spirit - fighting играть в браузере
играть
Vida - ретро эротический квест в браузере
играть
   
     
     
  игры в браузере (3), скачиваемые (1)
Ћегендарный Starcraft теперь в вашем браузере
играть
Inspace космический скролл шутер игра в браузере
играть
Key shield аркадна€ игра в браузере
играть
Team Ninja Unkende 4 - Ninja Gaiden 4 фанатский проект pc игра скачать
скачать
   
     
     
  игры в браузере
Laser Adventures - fast hardcore shooter играть в браузере
играть
ѕетька и „апай спасают галактику продолжение !!! играть в браузере
играть
Ninjuzi - прыгучий neo shooter игра в браузере
играть
Plants vs Zombies 3 tower defence игра в браузере
играть
   
     
  игры в браузере, скачиваемые игры
Shmupnage - cosmos shooter играть в браузере
играть
Undercat pc игра скачать
скачать
Cold station - shooter, survival играть в браузере
играть
Cut the rope - аркада, логика играть в браузере
играть
   
     
     
  игры в браузере
Crown Dungeon 2 играть в браузере
играть
dragonella играть в браузере
играть
crush shooter играть в браузере
играть
grievous medical shooter играть в браузере
играть
   
     
     
  игры в браузере
Foxyland 2 играть в браузере
Foxyland 2
quidget 2 играть в браузере
quidget 2
эмул€тор игры Ќу, ѕогоди !
играть
Pigglet игра русска€ верси€, english верси€ играть в браузере
играть
   
     
  полезный софт, игры в браузере
Google Media Grabber - ѕроста€ и компактна€ программа дл€ скачивани€ картинок из гугл
скачать
Anova играть в браузере
anova игра
A Knots Story играть в браузере
A Knots Story
Sabotage играть в браузере
sabotage
   
     
  сервисы, игры
ќнлайн —ервис дл€ приема фото в печать с предварительной обработкой
24500 руб.
satellite / спутник - визуальна€ новелла полна€ верси€
скачать
ria pc game robocop
игра
star inheritance звездное наследие игра zx spectrum
играть
   
     
  игры, программы
ria pc game - pink dreams come true - розовые мечты сбываютс€
купить / скачать
эмул€тор игры Ёлектроника »ћ јвтослалом верси€ 24.09.2019
купить
ќнлайн чат дл€ вашего сайта - megainformatic live chat
5500 руб.
Game Builder - —троитель »гр
скачать
   
     
  поздравлени€, уроки рисовани€, уроки создани€ сайтов
Ќќ¬ќ√ќƒЌ≈≈ ќЅ–јў≈Ќ»≈ —ќ«ƒј“≈Ћя ћега »нформатик   ∆»“≈Ћяћ ѕЋјЌ≈“џ интернет
читать
–исуем красивую девушку всего за 6 шагов
читать
„то нужно знать дл€ создани€ сайта ?
читать
Ќэн - интерактивный комикс
150 руб.
   
     
  комиксы, музыка, рассказы
ѕриключени€  ости  оробкина - — новым годом - интерактивный комикс (kk hny) - онлайн комикс
читать
 ост€  оробкин - —≈ –≈“Ќџ… ѕ–ќ≈ “ - интерактивный комикс (kk scp) - онлайн комикс
читать
Ќовогодн€€ дискотека 2013 на megainformatic точка ru
слушать
»ва ƒен энд  у’а -  ќƒ≈ — ‘–»ЋјЌ—≈–ј
читать
   
     
  игра дл€ разработки, калькул€тор услуг, cms, комикс
комплект freeware игра Ўарики на лифте / Balls on lif +  ак создать игру / How make a game
250 руб.
 алькул€тор рассчЄта стоимости услуг зубопротезировани€ дл€ стоматологической клиники
разработка на заказ
—истема управлени€ сайтом megainformatic cms admin files без mysql только на файлах
1250 руб.
ѕриключени€  ости  оробкина -  ак € провел лето - интерактивный комикс (akk hiss)
350 руб.
   
     
  игры дл€ разработки, комиксы
dream world - пример 2d игры созданной на fle game engine - c++ и directx 9
скачать
 ост€  оробкин -  омпани€ «ергов (kk kz) - онлайн комикс
читать
¬еселый Ѕуквоежка - онлайн комикс
читать
—оздание игры на fle game engine - Simple game
скачать
   
     
  игры шарики и €мки, комиксы про  остю  оробкина, ria xxl игра, fly snow 3d генератор эффектов снега, частиц и др. -
игра Ўарики и ямки -  аникулы «еленого Ўарика PC / Balls and Holes - Green Ball Holidays PC game
скачать
 ост€  оробкин  омикс читать онлайн
читать
ria xxl - верси€ 4.09.2019 купить
150 руб.
fle game generator - fle генератор игр - fly snow 3d падающий снег верси€ 1.0.3.1 от 13.12.2016 - расшир€емый генератор визуальных образов и игр
350 руб.
 
     
  —оздай свою игру на fle game engine -
fle game engine новый современный движок дл€ создани€ игр на платформе Windows Directx 9c - котора€ поддерживаетс€ большинством ѕ 
800 руб.
–иа PC игра / Ria PC game
240 руб./скачать
игра Ўарики на лифте —ери€ 1 –азгони Ћифт / Balls on Lift Level 1 Run The Lift верси€ 0.9.2 05.10.2016 / version 0.9.2 05.10.2016
скачать
скачать
 
     
  ƒл€ создани€ сайта - модуль отзывов/комментариев дл€ вашего сайта в составе megainformatic cms express files -
ћодуль отзывов/комментариев дл€ вашего сайта
700 руб.
ћодуль коротких ссылок
1250 руб.
larry xxl фан проект купить верси€ 4.09.2019
150 руб.
эмул€тор игры Ёлектроника »ћ-04 ¬еселый ѕовар верси€ от 7.07.2019
500 руб.
 
     
  ”роки Flash, бесплатные Flash - игры.
”роки Flash
бесплатно
бесплатные flash игры
бесплатно
ћодуль галерей дл€ любой cms
2500 руб.
megainformatic cms rs
14000 руб.
 
     
  ѕоддержка сайтом нескольких €зыков (multi lang), создание собственной системы личных кабинетов, соц. сети или фриланс - биржи (megainformatic cms social), создание сервиса коллективных покупок на базе megainformatic cms groupon, онлайн сервис подсчЄта статистики ключевых слов в стать€х вашего сайта keywords gen + описание кода данного сервиса, с возможностью бесплатно реализовать его аналог на своЄм собственном сайте.
ѕоддержка сайтом нескольких €зыков
500 руб.
megainformatic cms social
12000 руб.
megainformatic cms groupon
14000 руб.
ќнлайн - сервис подсчЄта статистики ключевых слов
бесплатно

megainformatic.ru/webjob/ - сервис дл€ фриланс проектов - место встречи заказчиков и исполнителей

 
 

—оциальна€ сеть megainformatic.ru/webjob/

megainformatic.ru/webjob/
webjob
весела€ математика
бесплатно
template selector
350 руб.
megainformatic cms express files + модуль slider
300 руб.

megainformatic.ru/webjob/ - сервис дл€ фриланс проектов - место встречи заказчиков и исполнителей

 
     
 

—истемы управлени€ сайтом, уроки

megainformatic cms admin
1250 руб.
уроки delphi direct x 3d
бесплатно
megainformatic cms seo
550 руб.
megainformatic cms stat kit
500 руб.

megainformatic cms admin - проста€ и компактна€ система дл€ работы и управлени€ сайтом

 
     
 
megainformatic cms express
350 руб.
megainformatic cms e-mailer
5800 руб.
megainformatic cms e-shop
3000 руб.
megainformatic cms e-pro
500 руб.
 
 
 
 
     
     
 

megainformatic cms free и сери€ продуктов - ”роки Photoshop

megainformatic cms free
бесплатно
уроки photoshop
650 руб.
уроки photoshop - чудеса !
700 руб.
уроки photoshop -  рисуем и анимируем
750 руб.

ƒанна€ сери€ посв€щена описанию приемов и методов создани€ изображений, с помощью инструментари€ программы Adobe Photoshop.  роме того, многие описанные средства могут вам помочь при освоении и многих других программ дл€ работы с растровой графикой - GIMP, Corel Photo Paint и других.

 

 
 
     
 

бесплатные игры 2d и 3d, а также эмул€тор Ќу, ѕогоди!

эмул€тор игры Ќу, ѕогоди !
500 руб.
ƒорога в √ород
бесплатно
Donuts 3D
бесплатно
Ќечто: Ќеобъ€снимое
бесплатно

Ёто сери€ распростран€емых бесплатно игр. ¬ы не только можете поиграть, но и скачать исходники, получив тем самым возможность внести изменени€ в игру или создать новую !!! (эмул€тор Ќу, ѕогоди! распростран€етс€ платно).

 
     
 
 
 
     
 

сери€ игр про ¬еселого Ѕуквоежку, и бесплатно распростран€ема€ игра Ќечто: Ќеобъ€снимое - в плену желаний

√овор€щий комикс - ¬еселый Ѕуквоежка
350 руб.
Ќастольна€ игра - ¬еселый Ѕуквоежка
510 руб.
 ак создать игру ? ѕрограммируем сами
fle game engine
Ќечто: Ќеобъ€снимое - в плену желаний
бесплатно

«десь представлены новинки жанра - √овор€щий  омикс, Ќастольна€ игра, ј также продукт, который позволит ¬ам научитьс€ создавать игры самосто€тельно. Ќу и конечно изюминка в своЄм роде - бесплатна€ игра - Ќечто: Ќеобъ€снимое - в плену желаний

 
     
 
 
 
     
 

—ери€ бесплатных онлайн уроков, посв€щенных 3ds max, photoshop, c++, directx, delphi и php.

”роки 3ds max
бесплатно
”роки c++ и directx
бесплатно
”роки трекерской музыки
бесплатно
–исуем волка
бесплатно
”роки php и создани€ сайтов
бесплатно
ѕример 3d игры на delphi directx с исходниками
бесплатно
Ќабор разработчика игр
500 руб.
¬аше ¬изуальное шоу
300 руб.

ќписаны практические примеры решени€ различных задач, возникающих при создании игр и сайтов.

ѕродукты Ќабор разработчика и ¬аше ¬изуальное Ўоу распростран€ютс€ платно.

 
     
 
 
 
     
     
 

уроки и продукты различной тематики

 ак создать игру Ќу, ѕогоди! на delphi directx
бесплатно
ћузыкальные миры CJ andy - мо€ авторска€ музыка mp3
бесплатно
”роки Photoshop free (—вободно распростран€емые)
бесплатно
megainformatic cms express - ¬аш ѕерсональный —айт на php + my sql
400 руб.

Ѕесплатные ”роки Photoshop free, Ѕесплатные ”роки по программированию на delphi directx -  ак создать игру Ќу, ѕогоди!, Ѕесплатна€ јвторска€ музыка в формате mp3 - ћузыкальные ћиры, ѕлатно распростран€емый продукт megainformatic cms express - система дл€ быстрого создани€ ¬ашего сайта на php + my sql.

 
     
 
 
 
     
 

ѕроекты игр, уроки

»гра ¬еселый Ѕуквоежка
450 руб.
”роки Delphi Directx 8.1
бесплатно
ћоделируем девушку в 3d studio max
бесплатно
”роки музыки в FL Studio
бесплатно

»гра ¬еселый Ѕуквоежка, уроки delphi directx 8.1 дл€ начинающих (описываютс€ основы 3d игр), моделируем девушку в 3d studio max, уроки музыки - пишем музыку в Fruity Loops Studio

 
     
 
 
 
     
     
     
 
megainformatic cms express files

Ѕыстра€ и  омпактна€ —истема ”правлени€ ¬ашим —айтом - megainformatic cms express files

megainformatic cms express files - это простое, быстрое и очень компактное решение дл€ создани€ первого вашего сайта. Ќ≈ »—ѕќЋ№«”≈“ базы данных mysql. ¬место этого используютс€ файловые базы данных. ѕоэтому ¬ы можете использовать систему даже на хостинге с поддержкой php, но без поддержки баз данных my sql.

ќчень проста в установке - достаточно вам скопировать все файлы на ваш хостинг и сайт готов к работе !!!

¬ комплект вход€т 3 готовых шаблона, модули поиска и карты сайта, а также статьи по основам создани€ сайта.

ѕодробнее...

 
 

ќставленные комментарии


fle game engine - движок дл€ создани€ игр
fle game engine - движок дл€ создани€ игр


Something: Unexplained 2 captive of desires / Ќечто: Ќеобъ€снимое 2 в плену желаний
 ост€  оробкин  омикс  оллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
Quidget 2 игра в браузере - русска€ верси€, english верси€
megainformatic –азмещение баннерной рекламы у нас
¬рем€ загрузки: 0,1273