Skip to content
This repository has been archived by the owner on Dec 13, 2023. It is now read-only.

paralin/AwesomiumCE3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Demo Image

This plugin allows you to render any HTML website or local HTML file structure to any surface / material in the engine. It also includes a full screen triangle renderer for rendering to screenspace, as opposed to world space.

It is based on the Awesomium library which performs the heavy lifting for rendering the page. This plugin uses DirectX11 to render the image buffer to the screen, or to a CryEngine material. The engine can then use the material to render the page on to any object.

Rendering is done in realtime, and thus supports YouTube videos, and even online browser-based games. Yes, you could play a webGL game in your CryEngine game, on a wall.

This plugin has been completely rewritten since the original plugin was released by darman96.

Inspector

You can access the inspector locally by navigating to http://localhost:3000/.

On default this is on all the time, however, a planned feature is to only enable this while in the game, and use a CVar to update the port / disable the inspector.

Note that the inspector only updates when the engine is rendering... So if you tab out of the engine, it will, on default, pause the rendering and the Inspector will not update until you tab back in again.

Coming Soon

  • Keyboard and Mouse interaction with the views
  • LUA support
  • Console Variables
  • Disable / Enable Inspector

Install Guide / Wiki

Wiki Index

Install Guide

CVars

Coming soon.

C++ Interface

You will need to include the Awesomium headers, found at the plugin root and \awesomium\include.

Finally, you can use this example code:

AwesomiumPlugin::IAwesomiumPlugin plugin = PluginManager::safeGetPluginConcreteInterface<IPluginAwesomium*>( "Awesomium" );
AwesomiumPlugin::CAwesomiumSystem sys = plugin->GetSystem();

//Make a view
AwesomiumPlugin::CAwesomiumView* view = sys->CreateView( width, height, "Entity Name", "Full Material Path" );

//Go to YouTube
view->GetView()->LoadURL( WebURL( WSLit( "http://youtube.com/" ) ) );

//Refresh
view->GetView()->Reload(false);

The view is an Awesomium view, so you have every method available in their documentation.

Flownodes

There is a single flow node for creating, controlling, and otherwise manipulating a view in CryEngine.

Sample FlowGraph

Releases

No releases published

Packages

No packages published