Nah, the OpenGL renderer does support instancing tessellation. No DirectX 11 interface.

Originally Posted By: the_clown
Am I right in assuming that you guys actually hide the program entry point within the engine library?

Nope. You can and are very much encouraged to provide your own main method. Although in simple cases it can be as simple as invoking one method in Rayne.

Code:
int main(int argc, char *argv[])
{
    return RN::Main<MyApplicationClass>(argc, argv);
}



You _do_ have to initialize Rayne from your main method and hand it argc and argv at some point before creating the Rayne kernel and attaching your application to it. You can customize your main quite heavily and do your own bootstrapping, although there is a high level entry point that is supposed to be in the application class which is supposed to do most of the heavier bootstrapping as before that point not all of Rayne is bootstrapped yet.

A more "complex" bootstrapping looks like this (in reality this is exactly what RN::Main<>() does)
Code:
int main(int argc, char *argv[])
{
	RN::Initialize(argc, argv);
	
#if RN_PLATFORM_MAC_OS
	RN::FileManager::GetSharedInstance()->AddSearchPath("/usr/local/opt/Rayne/Engine Resources");
#endif
#if RN_PLATFORM_WINDOWS
	char path[MAX_PATH + 1];
	::SHGetFolderPathA(NULL, CSIDL_PROGRAM_FILES, NULL, SHGFP_TYPE_CURRENT, path);
	
	std::stringstream stream;
	stream << path << "\\Rayne\\Engine Resources";
	
	RN::FileManager::GetSharedInstance()->AddSearchPath(stream.str());
#endif
	
	try
	{
		auto application = new MyApplicationClass();
		auto kernel = new RN::Kernel(application);
		
		while(kernel->Tick())
		{}
		
		delete kernel;
		delete application;
	}
	catch(RN::Exception e)
	{
		RN::HandleException(e);
		return EXIT_FAILURE;
	}
	
	return EXIT_SUCCESS;
}


Last edited by WretchedSid; 08/12/14 14:18. Reason: A word. 'Cause I'm retarded

Shitlord by trade and passion. Graphics programmer at Laminar Research.
I write blog posts at feresignum.com