aboutsummaryrefslogtreecommitdiff
path: root/src/client/render/stereo.h
blob: c8b07e146b4ceeddff6460fed4b692a29f799f1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*
Minetest
Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>
Copyright (C) 2017 numzero, Lobachevskiy Vitaliy <numzer0@yandex.ru>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/

#pragma once
#include "core.h"

class RenderingCoreStereo : public RenderingCore
{
protected:
	scene::ICameraSceneNode *cam;
	core::matrix4 base_transform;
	float eye_offset;

	void beforeDraw() override;
	virtual void useEye(bool right);
	virtual void resetEye();
	void renderBothImages();

public:
	RenderingCoreStereo(IrrlichtDevice *_device, Client *_client, Hud *_hud);
};
lass="hl opt">= "fixed", fixed = { {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, {-0.5, 0, 0, 0.5, 0.5, 0.5}, }, }, }) minetest.register_craft({ output = 'stairs:stair_' .. subname .. ' 4', recipe = { {recipeitem, "", ""}, {recipeitem, recipeitem, ""}, {recipeitem, recipeitem, recipeitem}, }, }) end -- Node will be called stairs:slab_<subname> function stairs.register_slab(subname, recipeitem, groups, images, description) minetest.register_node(":stairs:slab_" .. subname, { description = description, drawtype = "nodebox", tiles = images, paramtype = "light", is_ground_content = true, groups = groups, node_box = { type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, }, selection_box = { type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, }, }) minetest.register_craft({ output = 'stairs:slab_' .. subname .. ' 3', recipe = { {recipeitem, recipeitem, recipeitem}, }, }) end -- Nodes will be called stairs:{stair,slab}_<subname> function stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab) stairs.register_stair(subname, recipeitem, groups, images, desc_stair) stairs.register_slab(subname, recipeitem, groups, images, desc_slab) end stairs.register_stair_and_slab("wood", "default:wood", {snappy=2,choppy=2,oddly_breakable_by_hand=2}, {"default_wood.png"}, "Wooden stair", "Wooden slab") stairs.register_stair_and_slab("stone", "default:stone", {cracky=3}, {"default_stone.png"}, "Stone stair", "Stone slab") stairs.register_stair_and_slab("cobble", "default:cobble",