PrevUpHomeNext

dcpp::SDuckcppCreationParameters


dcpp::SDuckcppCreationParameters is used by dcpp::createDeviceEx as params to create duckcpp engine device.

Duckcpp forks irrlicht, dcpp::SDuckcppCreationParameters is renamed from irr::SIrrlichtCreationParameters.

irr::SIrrlichtCreationParameters is not trivially-copyable.

dcpp::SDuckcppCreationParameters has been changed to trivially-copyable and has been tested.

The class

The dcpp::SDuckcppCreationParameters class.

All class member variables have their own default values.

class SDuckcppCreationParameters
{
public:
	dcpp::E_DEVICE_TYPE DeviceType = dcpp::EIDT_BEST;
	dcpp::video::E_DRIVER_TYPE DriverType = dcpp::video::EDT_BURNINGSVIDEO;
	dcpp::nub::dimension2d<u32> WindowSize = dcpp::nub::dimension2du{1280u, 800u};
	dcpp::nub::position2di WindowPosition = dcpp::nub::position2di{-1, -1};
	dcpp::u8 Bits = 32u;
	dcpp::u8 ZBufferBits = 24u;
	bool FullScreen = false;
	dcpp::u8 WindowResizable = 2u;
	bool StencilBuffer = true;
	bool Vsync = false;
	dcpp::u8 AntiAlias = 0;
	bool HandleSRGB = false;
	bool WithAlphaChannel = false;
	bool DoubleBuffer = true;
	bool IgnoreInput = false;
	bool StereoBuffer = false;
	bool HighPrecisionFPU = false;
	dcpp::IEventReceiver* EventReceiver = nullptr;
	void* WindowId = nullptr;
	dcpp::ELOG_LEVEL LoggingLevel =
			#ifdef _DEBUG
					dcpp::ELL_DEBUG
			#else
					dcpp::ELL_INFORMATION
			#endif
	;
	dcpp::u32 DisplayAdapter = 0;
	bool DriverMultithreaded = false;
	bool UsePerformanceTimer = true;
	constexpr static const dcpp::c8 * const SDK_version_do_not_use = DUCKCPP_SDK_VERSION;
};

Default Value

All class member variables have their own default values.

Structured Binding

dcpp::SDuckcppCreationParamters params{
	.DriverType = dcpp::video::EDT_SOFTWARE,
	.WindowSize = dcpp::dimension2du{2560, 1600},
	.FullScreen = true
};

Public Attributes

All attributes are public, no methods.

Trivially-Copyable

static_assert(std::is_trivially_copyable_v<dcpp::SDuckcppCreationParamters>);

c++ example

#include <duckcpp/core.hpp>
#include <iostream>

int main()
{
	static_assert(std::is_trivially_copyable_v<dcpp::SDuckcppCreationParameters>);

	dcpp::SDuckcppCreationParameters params{
		.DriverType = dcpp::video::EDT_SOFTWARE,
		.WindowSize = dcpp::nub::dimension2du{1280u, 800u},
		.Bits = 32,
		.FullScreen = false,
		.StencilBuffer = true,
		.EventReceiver = nullptr
	};
	params.ZBufferBits = 24u;

	dcpp::DuckcppDevice * device = dcpp::createDeviceEx(params);
	device->setWindowCaption(L"duckcpp window");

	dcpp::video::IVideoDriver * video = device->getVideoDriver();
	dcpp::scene::ISceneManager * scene = device->getSceneManager();

	while (device->run())
	{
		if (! device->isWindowActive())
		{
			device->yield();
			continue;
		}
		// else
		video->beginScene(
			dcpp::video::ECBF_COLOR
				| dcpp::video::ECBF_DEPTH
					| dcpp::video::ECBF_STENCIL,
			dcpp::video::SColor{0xff234567}
		);
		scene->drawAll();
		video->endScene();
	}
	device->drop();
}

See Also

dcpp::createDeviceEx

dcpp::createDevice

dcpp::DuckcppDevice

Back

Up

c++

Duckcpp

cppfx.xyz


PrevUpHomeNext