Rev | Line | |
---|
[32] | 1 | // Copyright (C) 2012-2013 ChaosForge / Kornel Kisielewicz
|
---|
| 2 | // http://chaosforge.org/
|
---|
| 3 | //
|
---|
| 4 | // This file is part of NV Libraries.
|
---|
| 5 | // For conditions of distribution and use, see copyright notice in nv.hh
|
---|
| 6 | /**
|
---|
| 7 | * @file device.hh
|
---|
| 8 | * @author Kornel Kisielewicz epyon@chaosforge.org
|
---|
| 9 | * @brief Device class
|
---|
| 10 | */
|
---|
| 11 |
|
---|
| 12 | #ifndef NV_DEVICE_HH
|
---|
| 13 | #define NV_DEVICE_HH
|
---|
| 14 |
|
---|
| 15 | #include <nv/common.hh>
|
---|
| 16 | #include <nv/string.hh>
|
---|
[42] | 17 | #include <nv/interface/vertex_buffer.hh>
|
---|
[45] | 18 | #include <nv/interface/texture2d.hh>
|
---|
[32] | 19 |
|
---|
| 20 | namespace nv
|
---|
| 21 | {
|
---|
| 22 | class window;
|
---|
| 23 | class program;
|
---|
| 24 |
|
---|
| 25 | class device
|
---|
| 26 | {
|
---|
| 27 | public:
|
---|
| 28 | virtual window* create_window( uint16 width, uint16 height ) = 0;
|
---|
[39] | 29 | virtual program* create_program( const string& vs_source, const string& fs_source ) = 0;
|
---|
[42] | 30 | virtual vertex_buffer* create_vertex_buffer( buffer_hint hint, int size, void* source = nullptr ) = 0;
|
---|
[44] | 31 | virtual index_buffer* create_index_buffer( buffer_hint hint, int size, void* source = nullptr ) = 0;
|
---|
| 32 | virtual vertex_array* create_vertex_array() = 0;
|
---|
[49] | 33 | virtual texture2d* create_texture2d( ivec2 size, image_format aformat, type adatatype, sampler asampler, void* data = nullptr ) = 0;
|
---|
[32] | 34 | };
|
---|
| 35 |
|
---|
| 36 | } // namespace nv
|
---|
| 37 |
|
---|
| 38 |
|
---|
| 39 | #endif // NV_DEVICE_HH
|
---|
Note: See
TracBrowser
for help on using the repository browser.