Изучение OpenGL ES 1.x [закрытый]

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

Например, ниже - класс ученика, который будет использовать его в нашем коде.

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
21
задан 6 revs, 2 users 65% 23 May 2017 в 10:29
поделиться

9 ответов

В самом iPhone SDK существует некоторая документация.

Кроме этого, просто возьмите то, что Вы знаете о OpenGL (или узнайте, что через другие средства), и забывают обо всех вещах, которые являются "старым хламом" (дисплейные списки, непосредственный режим, вещи, которые находятся в OpenGL, но непосредственно не связаны только с рисованием треугольников). В основном забудьте все, что было объявлено удержанное от использования в OpenGL 3.0.

ES Гл 1.x для довольно простых устройств. То, что Вы имеете, является способом потянуть геометрию (буферы вершины), управлять структурами и установить некоторое состояние стандартной функции (освещение, объединители структуры). Это - в значительной степени все, которое существует к нему.

5
ответ дан 29 November 2019 в 21:12
поделиться

Если бы я могу включить свою собственную работу, я направил бы Вас к своему сообщению в http://www.sunsetlakesoftware.com/2008/08/05/lessons-molecules-opengl-es . Это не лучшее полное введение в ES OpenGL, и это становится довольно техническим довольно быстро, но это - мое взятие на предмете на основе моего опыта, пишущий Молекулы . Кроме того, я только что начал читать книгу "Мобильная 3D Графика: с ES OpenGL и M3G" .

я соглашаюсь с предположением, что лучший способ учиться путем выполнения. Я начал ничего не знать о OpenGL и три недели спустя имел Молекулы в для обзора в App Store. Как только у Вас есть ясный набор целей ("хорошо, я должен потянуть 3-D сферу", "Теперь я должен повернуть его по требованию"), становится легко найти примеры или части документации, которые относятся просто к задаче, Вы продолжаете работать.

там существует много примеров кода, хотя многие из них используют непосредственный режим и другие вызовы, которые не поддерживаются в ES OpenGL. <забастовка>, которую я хотел бы добавить к списку путем выпуска источника к Молекулам, но NDA Apple предотвратил это до сих пор. исходный код к Молекулам теперь доступен .

Видео для класса, который я преподавал OpenGL ES 1.1, теперь доступно для загрузки как часть мой пружинный курс о iTunes U . Примечания для той сессии могут быть найдены здесь . И осенние видео семестра имеют класс на OpenGL ES 2.0.

кроме того, Philip Rideout выпустил превосходную книгу по OpenGL ES 1.1 и 2,0 разработкам для iPhone, названного iPhone 3D Programming . Я настоятельно рекомендую его.

14
ответ дан 29 November 2019 в 21:12
поделиться

К вашему сведению код Brad Larsons Molecules теперь доступен здесь .

3
ответ дан 29 November 2019 в 21:12
поделиться

Я нашел их довольно полезными, когда начинающийся с ES OpenGL, только для наблюдения, что приближается, можно было бы взять при контакте с ES в противоположность нормальному GL.

http://www.zeuscmd.com/tutorials/opengles/index.php

, Как был упомянут ранее, существуют некоторые образцы, доступные от сайта разработчика iPhone также:

3
ответ дан 29 November 2019 в 21:12
поделиться

После пребывания в течение довольно большого количества времени, разрабатывая 3D я пришел к пониманию, что в большинстве случаев лучший способ состоит в том, чтобы учиться примерами и усовершенствованием с ними, когда Вы идете.

Запускаются путем устанавливания себе цели достигнуть (например - реализация системы частиц. это включает использование режимов наложения, структур, цветов вершины, пакетной обработки и преобразований), и затем пойдите и запуститесь с самого простого элемента - рисование и вращение четверки. Оттуда пойдите и добавьте структуры, добавьте больше четверок, и т.д. При выполнении этого Вам была бы нужна некоторая информация о синтаксисе - это можно найти во многих книгах, но лучший (очень скучный) источник является публикацией комитета по спецификации, которая может быть найдена здесь: http://www.khronos.org/opengles/spec/

Даже, с которым Вы врезались бы во многие проблемы, ну, в общем, как только у Вас есть проблема, переходит к Вашему лучшему другу в этих ситуациях: демонстрации и примеры!
можно найти много источников в качестве примера для iPhone онлайн и на сайте яблока, так загрузите их, скопируйте вставку, в чем Вы нуждаетесь и затем изменяете к своим потребностям.

Весело проводят время.

1
ответ дан 29 November 2019 в 21:12
поделиться

При загрузке примеров iPhone SDK проверьте файл аварийной посадки EAGLview. Это - довольно прямая реализация представления GLES, которое может импортироваться и использоваться справедливо чисто в другом проекте. Существует другой класс в том проекте по имени Texture2d (если я вспоминаю), который также довольно интересен, если Вы в использование GLES для 2D.

1
ответ дан 29 November 2019 в 21:12
поделиться

Позвольте мне также предложить Android - легко добраться, и у Вас может быть рабочее средство моделирования действительно быстро. Кроме того, это использует v1.0 насколько я знаю.
Могло быть больше учебных руководств, но даже APIDemos, обеспеченный Google, имеет введение в OpenGL ES. Я, конечно, нашел это полезным.

0
ответ дан 29 November 2019 в 21:12
поделиться

Возможно, вы захотите взглянуть на этот отличный туториал Джефа ЛаМарша по OpenGL ES на iPhone.

2
ответ дан 29 November 2019 в 21:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: