Dilma, вот, простейший и самый быстрый способ идентификации объектов на основе малеших различий их цветов. Расход ресурсов - минимален.. При палитре в несколько миллионов цветов - должно хватить на все применения.
code_1722.txt
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
|
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
ну да. Только чуть освещение изменится и ИД всех кубов уползет...
|
|||
карма: 27 |
|
Ответов: 1891
Рейтинг: 110
|
|||
Может попробовать определять серийный номер по Product ID, найти которую можно в реестре по адресу:
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurentVersion, ключ ProductID Product ID разбит на группы цифр: AAAAA-BBB-CCCCCCC-DDDDD, Где первые 5 цифр указывают на версию ОС (всегда одинаковые для одного и того же типа), а остальные формируются из серийного номера системы, вбиваемого при инсталляции (именно из этих цифр вычисляют серийный номер системы различные утилитки). Как уже говорилось, эти 20 цифр формируют P1, P2 и P3 части Installation ID. Делается это так: AAAAA - составляют 17 бит, которые становятся битами от 0 до 16 для P1. BBB - составляют 10 бит, которые становятся битами от 17 до 26 для P1. CCCCCCC - составляют 28 бит, которые становятся битами от 27 до 31 для P1 и битами от 0 до 22 для P2. DDDDD - составляют 17 бит, которые становятся битами от 23 до 31 для P2 и битами от 0 до 7 для P3. Таким образом видно, что Installation ID содержит в себе полную информацию о типе операционной системы, и целиком серийный ключ, который вбивается при инсталляции (как уже говорилось, его можно вычислить из Product ID). В принципе это ожидаемо (ведь должен же Microsoft точно идентифицировать проданную копию при активации), и никакой критичной информации для пользователя не составляет. Гораздо больший интерес представляют первые два слова, H1 и H2, составляемые на основе данных об аппаратном обеспечении компьютера. Для H1 и H2 они распределяются так: H1. Биты 1-9. Серийный номер и название системного раздела диска. Биты 10-19. MAC адрес сетевой карты. Биты 20-26. CD-ROM hardware ID. Биты 27-31. Hardware ID видеокарты. H2. Биты 0-2. Не используются, всегда 001. Биты 3-8. Серийный номер центрального процессора. Биты 9-15. Hardware ID жёсткого диска. Биты 16-20. SCSI host adapter hardware ID. Биты 21-24. Модель центрального процессора. Биты 28-30. Размер RAM. Бит 31. Указывает, становится ли компьютер в док-станцию. 1 - становится, 0 - не становится. Если какое-либо из устройств отсутствует (например сетевая карта или SCSI контроллёр), то поле предназначенное для него заполняется нулями. |
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Dilma, все освещение вырубить...
Вот нашел сайт где полно интересных программ и исходников с OGL .. 4 страницы.. Пытаюсь найти реализованный код... sulaco.co.za/opengl4.htm |
|||
карма: 0 |
|
Ответов: 1291
Рейтинг: 47
|
|||
Dilma, я User108, вот что-то удалось найти. Реакция на выделение разных объектов мышью в OGL.. Пожалуйста, помоги этот код перевести в InlineCode. Все работает. Вот исходник dpr, я там попереводил комменты на русский, но потом запарился все переводить. Если что не ясно будет, сообщи строки комментов, я их специально переведу.
code_1723.txt А вот архив с скомпиленной прогой и всеми исходниками в оригинале (переведенные частично): www.u-studio.narod.ru/storage/OGLmouse.rar [size=-2]------ Добавлено в 16:25 Вот еще статья на английском с немного другим кодом: http://francisshanahan.com/detail.aspx?cid=142 |
|||
карма: 3 |
| ||
файлы: 1 | code_1723.txt [33.2KB] [534] |
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Dilma, вот, удалось частично портировать код... Только не хочет текстуры загружать, я закомментировал эту команду LoadTexture. А то с ней не компилится, пишет необъявленный идентификатор. Что с ней делать?
Вот уже рабочая схема: code_1724.txt [size=-2]------ Добавлено в 18:46 Все ясно. Я ж его сам вычеркнул из uses. Потому что с ним не компилировалось. Видимо, необходимо еще портировать файл Textures.pas для загрузки текстур. Но это уже вроде как к делу не относится. Главное - схема работает и без текстур.. Кстати, вот всем начинающим моя новоиспеченная и хрустящая технология портирования кода: 1) кладем Inline Code 2) выдергиваем из исходника строчку uses - заменяем ею ту что в IC, 3) проверяем ее на совместимость, выеркивая все что несъедобно. 4) если съедобно дляя компа - должна при компиляции запуститься пустая форма. Значит, пока ошибок нет в IC. Если нет - разбираемся, что ему не понравилось. 5) Таким же макаром по кускам добавляем наиболее подозрительные и сложные участки кода попутно разбираясь с самочувствием компилятора 6) Все, можно запускать. Вышеприведенный код был портирован именно так. Вот и долгожданная инструкция к IC ... [size=-2]------ Добавлено в 18:56 Вот более корректная та же схема, которая не пытается уменьшить разрешение экрана: code_1725.txt |
|||
карма: 0 |
|
Ответов: 3655
Рейтинг: 69
|
|||
user108, Блажен кто верует
|
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Вячеслав, конечно, как же иначе. А это вы о чем, собственно? Уж не о тыканье пальцем в небо?
[size=-2]------ Добавлено в 20:02 Кстати, вышеприведенный пример - прекрасный пример использования IC - там есть все - от создания окна формы, до обработки мыши и клавиатуры... [size=-2]------ Добавлено в 20:03 И закомментирован подробно, осталось только на русский перевести.. |
|||
карма: 0 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
И для чего вообще нужно сие творение, только для отрисовки двигающихся шариков на экране, или еще для чего?
|
|||
карма: 22 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Dilma, не могли бы все же доработать этот код чтобы пример с 3 кубами на нем работал? Пока не знаю как его применить.
[size=-2]------ Добавлено в 20:17 nesco, щелкни по шарикам [size=-2]------ Добавлено в 20:18 может, ты тоже сможешь доработать код? |
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Что характерно, все хотят, чтобы кто-то доработал
А разобраться чего в супе не хватает - как-то такие вопросы и не припомню |
|||
карма: 9 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Ну щелкнул, и что? Я это и так понял, без щелканья. Но вопрос я задал не зря
nesco писал(а): И для чего вообще нужно сие творение, только для отрисовки двигающихся шариков на экране, или еще для чего?user108 писал(а): Пока не знаю как его применить |
|||
карма: 22 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
nesco, это нужно для того чтобы добавить интерактивность - взаимодействие пользователя с объектами в Open GL. А для этого надо уметь определять на каком именно объекте щелкнули, и щелкнули ли вообще по объекту - причем независимо от его проекции и системы координат. Это нетривиальная задача, о чем говорил сам Dilma. И вот, наконец, нужный код найден.
Galkov, я и так по мере возможностей (скромных, учитывая что OGL и программирование - пока темный лес для меня) своих пытаюсь что-то сделать, вот нашел код. Если бы мог сам, не просил бы. Я конечно, разберусь, но не знаю пока когда... Главное, суп уже подан, и вообще, хоть какой-то он есть. |
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Речь не о том, что "не сделал ничего".
Речь об эффективности вопроса: "не могли бы все же доработать" |
|||
карма: 9 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Galkov писал(а): Речь об эффективности вопроса: "не могли бы все же доработать" |
|||
карма: 0 |
|