Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2010, 10:42   #1
voverrr
Пользователь
 
Регистрация: 25.08.2010
Сообщений: 62
По умолчанию на каком языке это написано?

Здравствуйте. Вопрос дилетантский абсолютно.
хочу попробовать написать компонент приложения. Если кто в курсе - процедурную карту для 3d max.
В папке с установленной программой я нашёл стандартную, ту, что поставляется в комплекте, хочу разобраться как она работает и на её основе написать свою. Понятное дело, что начинать надо с азов, создать какую-нибудт карту и в ней кнопочку, без функций, чтобы она просто была. А потом посмотрим.
Нашёл я там например карту Speckle, называется adsk_Map_SimpleSpeckle.mi
открывем блокнотом, видим:
PHP код:
#*****************************************************************************
# Copyright 2007 by Autodesk Media & Entertainment
# All rights reserved.
#*****************************************************************************
# Author :    Pierre-Felix Breton
# Purpose:    Simplified Speckle map based on the 3ds max Speckle map
#
# History:
#
# 2007 feb 15th - pfbreton, initial implementation

#****************************************************************************/

min version "3.4"

#------------------------------------------------------------------------
# Phenomenon
#------------------------------------------------------------------------
declare phenomenon "adsk_Map_Simple_Speckle" 
  
(
      
#-------------------------------------
            # Main parameters
            #-------------------------------------
      
struct "m" 
      
{
          
color "Color1",
          
color "Color2",
          
scalar "Size"
          
      
},
      
            
#-------------------------------------
            # XYZ Generator Parameters
            #         This is a temporary solution
            #            minimal set of parameters exposed
            #            more design work needs to be done
            #-------------------------------------
      
struct "u" 
      
{
          
vector "Offset",
          
vector "Tiling",
          
vector "Angle"

      
},
      
integer "mode",
      array 
light "lights"
          
   
)#end phenomenon


#-------------------------------------
# XYZ Generator Shader
#-------------------------------------
shader "XYZGen|Shader" "max_base_XYZGenerator" 
(
    
"CoordinateSystem" 0,                 #ObjectXYZ | WorldXYZ | ExplicitMapChannel | VertexColorChannel
    
"MapChannel" 1,                              #Unused in this case, since we are using the ObjectXYZ coordinatesystem
    #--------------            
    
"Offset" = interface "u.Offset"
    
"Tiling" = interface "u.Tiling"
    
"Angle" = interface "u.Angle"
    
#-------------------
    
"Blur" 1
    
"BlurOffset" 0
)#end shader


#------------------------------------------------------------------------
# Speckle Map Shader
#------------------------------------------------------------------------
shader "Map_Speckle|Texmap|Shader" "max_Speckle" 
    
(
        
"Parameters" 
        
{
            
"Size" = interface "m.Size"
            
"Color1" = interface "m.Color1"
            
"Color2" = interface "m.Color2"
            
"Map1On" off
            
"Map2On" off
            
"Coords" "XYZGen|Shader"
            
}, 
        
"ExtraParameters" 
        
{
            
"GBufferID" 0    
        
}

    )
#end shader

#------------------------------------------------------------------------
#  Connections
#------------------------------------------------------------------------
root "Map_Speckle|Texmap|Shader"
apply texture

#------------------------------------------------------------------------
# UI
#------------------------------------------------------------------------

    
gui "gui_adsk_Map_Simple_Speckle"
    
{
        
#----------------------------------
        
control "Global" "Global" ("uiName" "Simple Speckle Map (adsk)""category" "Texture""hidden" )
    
        
#-------------------------------------
        #  Map Parameters
        #-------------------------------------
        
control "m" "struct" ("uiName" "Simple Speckle Map Parameters")
        {
            
#----------------------------------
            
control "Color1" "color" ("uiName" "Color 1","value" 0 0 0 1.0)
            
control "Color2" "color" ("uiName" "Color 2","value" 1 1 1 1.0)
            
control "Size" "float" ("nonConnectable""uiName" "Size""value" 1"range" 0.001 1000000000000000000)
     
        }
#end control
        
        
        #-------------------------------------
        # XYZ Generator Parameters
        #         This is a temporary solution
        #            minimal set of parameters exposed
        #            more design work needs to be done
        #-------------------------------------
        
control "u" "struct" ("uiName" "Texture Coordinates Parameters")
    {  
         
control "Offset" "vector" ("nonConnectable""value" 0 0 0)
         
control "Tiling" "vector" ("nonConnectable""value" 1 1 1)
         
control "Angle" "vector" ("nonConnectable""value" 0 0 0)     
   }
#end struct
        
        
      #----------------------------------
        
control "mode" "null" ("uiName" "Mode""value" 0"hidden")
        
control "lights" "array light" ("hidden","nonConnectable")
        
control "mode" "integer" ("hidden","nonConnectable")

    }
#end gui

end declare #end declare phenomenon 
на каком языке это написано? Что нужно учить, чтобы такое написать? Только не смейтесь, самому смешно.
voverrr вне форума Ответить с цитированием
Старый 25.08.2010, 12:03   #2
grenles
минимакс
Участник клуба
 
Аватар для grenles
 
Регистрация: 11.06.2008
Сообщений: 1,143
По умолчанию

Не знаю. что за язык, а чисто внешне - похоже на язык макрокоманд, судя по названию - это может быть язык Шейдеров для видеокарт, например семейства NVidia GeForce.
По другим внешним признакам похоже на какой-то диалект C-подобного языка.

Писать так? Это всего лишь соблюдать правила отступов и форматирования. а больше ничего.
и это пройдет...
grenles вне форума Ответить с цитированием
Старый 25.08.2010, 13:38   #3
13th
Форумчанин
 
Аватар для 13th
 
Регистрация: 31.12.2008
Сообщений: 634
По умолчанию

осмелюсь предположить что это внутренний язык 3d max скриптов.
типо подоготовленный темплейт горы.
Возможно всё
Пишу обо всем
13th вне форума Ответить с цитированием
Старый 25.08.2010, 13:55   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
это внутренний язык 3d max скриптов.
Не. В Максе по другому, хотя и похоже.
Может MEL Maya...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.08.2010, 14:05   #5
voverrr
Пользователь
 
Регистрация: 25.08.2010
Сообщений: 62
По умолчанию

да, для прояснения вопроса добавлю картинку ещё.
Вот так оно выглядит в действии:
открываем в 3д максе редактор материалов,
выбираем карту(она находится среди других карт, каждая со своими функциями - одни создают клетки например, другие, как эта speckle - всякоразные искры или пятна).

После выбора карты видим её настройки:
http://www.postimage.org/image.php?v=PqIZ1dr
voverrr вне форума Ответить с цитированием
Старый 25.08.2010, 14:19   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А-а-а это скрипт для написания материалов...
Теперь вспомнил... Описывает диалог настройки материала.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.08.2010, 14:36   #7
voverrr
Пользователь
 
Регистрация: 25.08.2010
Сообщений: 62
По умолчанию

ага, значит это http://ru.wikipedia.org/wiki/%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%8 2%D0%BE%D0%B2%D1%8B%D0%B9_%D1%8F%D0 %B7%D1%8B%D0%BA]скриптовый язык?
но чота я не соображу - скопировал этот скрипт в той же папке, под другим именем - adsk_Map_SimpleTkan.mi (это я текстуру ткани там пытаюсь сделать)
и то же название вставил в теле скрипта - там есть два места, где оно попадается.
По идее он при перезапуске макса должен подгружатья и отображаться в списке, но только что-то его не видно там. В папке макса да и вообще в компе никаких больше файлов с именем Speckle - больше нету. Этот один-единственный(на тот случай, если он подгружает какие-то файлы из другого места, а не из этого)
voverrr вне форума Ответить с цитированием
Старый 25.08.2010, 15:09   #8
13th
Форумчанин
 
Аватар для 13th
 
Регистрация: 31.12.2008
Сообщений: 634
По умолчанию

если до этого файл назывался adsk_Map_Simple_Speckle.mi, то после твоего копирования с другим именем в самом файле надо

Код:
"adsk_Map_Simple_Speckle"
переименовать в

Код:
"adsk_Map_SimpleTkan"
ВЕЗДЕ по коду

видимо здесь класс вызывается на основание имени файла

ну че , автор, поперло??? отпишись , а то будет гребенная оконцовка темы, когда автор пишет "Всё хорошо , сам разобрался" и какой нить пришелц с гугля будет матерится не найдя "само разбирающегося" решения.
Возможно всё
Пишу обо всем

Последний раз редактировалось artemavd; 26.08.2010 в 09:14.
13th вне форума Ответить с цитированием
Старый 26.08.2010, 11:14   #9
voverrr
Пользователь
 
Регистрация: 25.08.2010
Сообщений: 62
По умолчанию

Да нет, чот ни хрена не получается. Счастливой концовки пока что нет. о результатах конечно же отпишусь, обязательно. Я сам много раз натыкался на "спасибо, разобрался сам", и стараюсь подобного не допускать.

Поменял имя не в двух,как думал, местах, а в четырёх, там сразу не увидел.
По идее она должна в списке появиться под новым названием( Tkan), но с теми же настройками, что и у Speckle,
Там вот это нижнее подчёркивание - перед словом Tkan или Speckle - в названии файла его нет, а в теле программы оно есть. Я уж попробовал и так и так. И никак.
Не появляется.

Страшнее всего, если это название прописывается где-то в теле другого файла и оттуда и запускается. Тогда как найти - с помощью чего должен запускаться этот скрипт.

Посмотрел как устроены подобные файлы ещё в другом месте. Есть такие дополнительные процедурные карты Bercon maps, их можно скачать бесплатно, у них открытый код. Как раз подобное я и хочу сделать с тканью.
http://www.ylilammi.com/BerconMaps.shtml
но в них что-то уж совсем сложно, я вообще свим скудным умом ничо там не понял.
но и устанавливаются они в другую папку, нежели та Speckle. Даже не устанавливаются, а один файлик копируется и всё работает при перезапуске.
Получается, начальных знаний Delphi не достаточно, чтобы постичь, как работает 3d max.
Почитаю что-нибудь по скриптам пока что.

кстати, в гугле по запросу "форум программистов" - ваш выскакивает в первой строчке)).

Последний раз редактировалось voverrr; 26.08.2010 в 11:17.
voverrr вне форума Ответить с цитированием
Старый 26.08.2010, 11:56   #10
13th
Форумчанин
 
Аватар для 13th
 
Регистрация: 31.12.2008
Сообщений: 634
По умолчанию

кстати как вариант что он в другом файле подклюбчается. посмотри там какие нить .init, .config , .load и прочую фигню.
Возможно всё
Пишу обо всем
13th вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На каком языке лучше написать БД? nolz Помощь студентам 17 27.03.2012 09:32
На каком языке прогать сисадмину? Nikipit Помощь студентам 8 11.12.2009 21:38
На каком языке написан код? FleshDro Помощь студентам 6 11.11.2009 06:46
на каком языке создаются такие программы ,какое СУБД и структура реализации БД,также на каком языке соста оля87 Помощь студентам 13 25.05.2009 18:08
[autorun] - на каком языке написан? Ivan_assm Помощь студентам 6 05.11.2007 09:06