В общем, чего-то я прям серьёзно заморочался на авторское право...
Но это не касается остального по CopperCube...раз уж уже нарушил их заперт на перевод и распространение документации
Что думаешь по этому поводу, Striver?
А там точно есть такой запрет?
СинтаксисwSetNodeMaterialType ( node as wNode, mat_type as wMATERIAL_FLAGS )ОписаниеОпределяет способ прикрепления материалов к ноду.Node - нод в составе сцены.mat_type - один из следующих применяемых к ноду параметров:wMT_SOLIDОбычный рендеринг (solid). Используется только одна (первая) текстура, которая обычно является материалом типа Diffuse.wMT_SOLID_2_LAYERМатериал с двумя слоями текстур.Второй накладывается на первый и смешивается с ним, при этом используется alpha-параметр цветов вершин.Данный материал пока не реализован в OpenGL.wMT_LIGHTMAPТип материала со стандартно построенной картой освещённости.Требует наличия двух текстур: первый текстурный слой - карта типа Diffuse,второй - карта освещённости. Динамическое освещение игнорируется.wMT_LIGHTMAP_ADD...аналогичен предыдущему, но добавляет уровни вместо того, чтобы плавно переходить от одного к другому.wMT_LIGHTMAP_M2...аналогичен предыдущему, но цветовые аргументы текстурных уровней умножены на 2 для подсветки.Аналогичен оператору D3DTOP_MODULATE2X из DirectX. Динамическое освещение игнорируется.wMT_LIGHTMAP_M4...аналогичен предыдущему, но цветовые аргументы текстурных уровней умножены на 4 для подсветки.Аналогичен оператору D3DTOP_MODULATE4X из DirectX. Динамическое освещение игнорируется.wMT_LIGHTMAP_LIGHTINGКак wMT_LIGHTMAP, но поддерживает динамическое освещение.wMT_LIGHTMAP_LIGHTING_M2Как wMT_LIGHTMAP_M2, но поддерживает динамическое освещение.wMT_LIGHTMAP_LIGHTING_M4Как wMT_LIGHTMAP_M4, но поддерживает динамическое освещение.wMT_DETAIL_MAPДве смешенных текстуры: первая служит цветовой схемой, вторая, в ином масштабе, управляет насыщенностью цвета для большей детализации.Часто используется для создания ландшафтов.wMT_SPHERE_MAPВыглядит как отражение окружающего пространства.wMT_REFLECTION_2_LAYERОтражающий материал с опциональным неотражающим текстурным слоем.Карта отражения должна стоять первой текстурой.wMT_TRANSPARENT_ADD_COLORЭффект прозрачности с цветовой текстуры в качестве фона. Чем темнее цвет, тем выше прозрачность.Используется только первая текстура. Новый цвет вычисляется добавлением исходного цвета и целевого цвета. Если такой материал применить, например, к биллборду, с чёрной фоновой текстурой и красным кругом на ней, виден будет только красный круг, причём он будет слегка прозрачным. Черный фон будет 100% прозрачным, то есть невидимым. Материал данного типа удобно использовать для работы с частицами.wMT_TRANSPARENT_ALPHA_CHANNELЭффект прозрачности, который использует альфа-значение цветовой текстуры как уровень прозрачности. То есть позрачность материала зависит от альфа-канала текстуры.Итоговый цвет получается путём смешивания целевого цвета и цветовой текстуры. При этом значение alpha-канала выступает коэффициентом смешивания. Используется только первая текстура. Если использовать этот материал с текстурами малого формата, лучше всего загружать их в 32-битном режиме.wMT_TRANSPARENT_ALPHA_CHANNEL_REFДобавляет материалу прозрачность, беря за основу альфа-канал цветовой текстуры. Если значение альфа-канала превышает 127, точка (пиксель) приписывается к цели, в противном случае - нет. Материал не использует альфа-смешивания и обрабатывается гораздо быстрее, чем wMT_TRANSPARENT_ALPHA_CHANNEL. Идеально для отрисовки листвы, травы и др., т.к. границы изображения не размываются и остаются чёткими.Использует только первую текстуру. Используя этот материал с текстурами малого формата, лучше всего загружать их в 32-битном режиме.wMT_TRANSPARENT_VERTEX_ALPHAЭффект прозрачности, который использует альфа-параметр вершин.wMT_TRANSPARENT_REFLECTION_2_LAYERЭффект прозрачности и отражения. Первая текстура служит картой отражений, вторая - цветовой картой. Значение прозрачности берется из альфа-параметра вершин. Карта отражений должна стоять первой текстурой. Текстура, не предполагающая отражения, может быть добавлена второй. Обратите внимание, что пока данный тип материала реализован в OpenGL непольностью.wMT_NORMAL_MAP_SOLIDОбычный рендеринг с использованием карты нормалей. Первая текстура - цвет, вторая - карта нормалей. Используйте только для нодов, добавленных методом wAddStaticMeshForNormalMappingToScene.Данный шейдер может использоваться на аппаратном обеспечении с поддержкой вершинного шейдера 1.1 и пиксельного шейдера 1.1. А при их отсутствии будет использоваться материал с fixed function-освещением. Шейдер поддерживает лишь два источника освещения, при большем их количестве выбираются два ближайших.wMT_NORMAL_MAP_TRANSPARENT_ADD_COLOR...аналогичен предыдущему, но с эффектом прозрачности на основе фонового цвета. Чем темнее цвет, тем выше прозрачность.wMT_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA...аналогичен предыдущему, но для определения прозрачности используется альфа-значение вершин.wMT_PARALLAX_MAP_SOLIDПохож на wMT_NORMAL_MAP_SOLID, но использует параллаксное отображение. Выглядит в разы реалистичнее, обеспечивая виртуальное замещение поверхности. Использует альфа-канал карты нормалей для замещения карты высот. Первая текстура служит цветовой схемой, вторая должна быть картой нормалей. Последняя должна содержать значение высот в альфа-компоненте. Требует вертекс-шейдера 1.1 и пиксель-шейдера 1.4.wMT_PARALLAX_MAP_TRANSPARENT_ADD_COLOR...подобен предыдущему, но с эффектом прозрачнсьт, добавляющим цвет к фону. Чем темнее цвет, тем выше прозрачность.Использует wMT_TRANSPARENT_ADD_COLOR в качестве базового материала.wMT_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA...как и предыдущий, но использует эффект прозрачности на основе альфа-значения высот.Задействует wMT_TRANSPARENT_VERTEX_ALPHA в качестве базового материала.wMT_ONE_TEXTURE_BLEND(ещё не добавлен)wMT_FOUR_DETAIL_MAPЧетыре изображения в оттенках серого из каналов первой текстуры перемешиваются с каналами вершин как с альфа-изображениями.wMT_TRANSPARENT_ADD_ALPHA_CHANNEL_REFДанный тип используется для объекта Трава (Grass), см описание функции wAddGrass .wMT_TRANSPARENT_ADD_ALPHA_CHANNEL(ещё не добавлен)wMT_FORCE_32BIT = &h7fffffffДанный параметр не используется. Он лишь включает принудительную компиляцию последовательности под 32-бита.ПримерwSetNodeMaterialType ( WaterNode, wMT_LIGHTMAP )
// This Coppercube behavior must be attached to a 2D Overlay2, where it will show the FPS. // Converted to CopperCube by : Gar// Origional : Isaac Sukin// [url]https://www.isaacsukin.com/news/2015/01/detailed-explanation-javascript-game-loops-and-timingfps-control[/url]//// The following embedded xml is for the editor and describes how the behavior can be edited:// Supported types are: int, float, string, bool, color, vect3d, scenenode, texture, action/* <behavior jsname="behavior_fps" description="FPS counter"> </behavior>*/behavior_fps = function(){ /* var fps = 60, framesThisSecond = 0, lastFpsUpdate = 0; */ this.fps = 60; this.framesThisSecond = 0; this.lastFpsUpdate = 0; /* this.Speed = 1.0; this.TimeOfDay = -1; this.LastTime = -1; */};// called every frame. // 'node' is the scene node where this behavior is attached to.// 'timeMs' the current time in milliseconds of the scene.// Returns 'true' if something changed, and 'false' if not.behavior_fps.prototype.onAnimate = function(n, timeMs){ if (timeMs > this.lastFpsUpdate + 1000) { // update every second this.fps = 0.25 * this.framesThisSecond + (1 - 0.25) * this.fps; // compute the new FPS ccbSetSceneNodeProperty(n, "Text", Math.round(this.fps) + ' '); this.lastFpsUpdate = timeMs; this.framesThisSecond = 0; } this.framesThisSecond++; }