CG week3.2.1
2025.03.18 Tue PM 1:04 ・ 34Minutes 55seconds
ZHANG YIWEN
CG 第 3.2.1 周 2025.03.18 周二 下午 1:04 ・ 34 分钟 55 秒 张益文
Attendees 1 00:00
기본 객체는 뭐가 있다? 점선 사각형이 있다 얘기를 했었죠.
그다음에 다각형에는 삼각형과 사각형과 오각형과 일반적인 다각형이 있다 이렇게 얘기를 했고 그다음에 점선 다각형을 출력하기 위한 오픈gl 함수들 제일 중요한 게 이제 좌표를 지정할 때 어떤 함수를 쓴다고 했죠?
GL 버텍스라는 함수를 쓴다고 했죠. 그래서 2차원 좌표, 3차원 좌표 그다음에 배열의 형태로 지정을 할 수도 있다고 했어요.
그다음에 이렇게 좌표만 지정한다고 그림이 그려지는 건 아니라고 했죠.
좌표를 지정을 하고 GL 비깅과 GL MD 사이에 그 좌표들을 지정을 하고 그다음에 GL 비기에 가로 열고 뭘 넣어야 된다고 했어요.
출력할 객체의 기본 타입을 넣어줘야 된다고 했었죠.
그래서 그 기본 타입에는 6가지가 있었는데 GL 인 GL 포인츠, GL 라인스 GL 라인 스트립, 트라이앵글 트라이앵글 스트립 그다음에 쿼드 쿼드 스트립 그다음에 폴리곤 총 8가지가 있었네요.
出席人员 1 00:00 基本对象有什么?我们之前讨论过点、线、矩形。然后多边形包括三角形、四边形、五边形和一般多边形。关于使用 OpenGL 函数输出点线多边形,最重要的是在指定坐标时使用什么函数?我们说过使用 GL 顶点函数。可以指定 2D 坐标、3D 坐标,甚至可以以数组形式指定。然后我们说过仅仅指定坐标并不能绘制图形。在指定坐标并在 GL Begin 和 GL End 之间指定坐标后,还需要在 GL Begin 中放入什么?我们说过要放入要输出对象的基本类型。这些基本类型共有 6 种:GL 点、GL 线、GL 线条带、三角形、三角形带、四边形、四边形带以及多边形,总共 8 种。
Attendees 1 01:09
그런 여러 가지 이제 출력을 담당하는 기본 객체들에 대해서 소개를 했고 그다음에 최종적으로 이러한 기본 객체들이 여러분 눈으로 보고 있는 스크린 좌표에 그려져야 되는 거죠.
그래서 스크린 좌표의 특징은 정수 좌표를 갖는 거예요.
그래서 점이라든가 선이라든가 다각형들은 정수 좌표만 갖는 게 아니라 이제 실수 좌표를 갖기 때문에 정수 좌표를 갖는 화면에 그려지기 위해서는 레스터가 기법이 필요하다고 했어요.
그렇죠 그래서 레스터가 기법이 굉장히 여러 가지가 있는데 그중에서 우리는 그냥 맛보기로 브레즈맵이라는 사람이 개발한 미드 포인트 알고리즘, 라인 드로잉 알고리즘에 대해서 학습을 했죠.
됐나요? 이 정도를 지난 시간에 우리가 공부를 했고 이번 시간에는 그렇다면 이 점선 다각형들이 갖는 속성에는 어떤 것들이 있나 그런 얘기를 한번 해볼 거예요.
속성이라는 게 뭐예요? 특징을 얘기하는 거죠. 그 점이 갖는 속성은 뭐가 될 수 있을까?
参会者 1 01:09 我们现在已经介绍了负责输出的基本对象,接下来最终这些基本对象需要绘制在屏幕坐标上。屏幕坐标的特点是具有整数坐标。所以点、线、多边形不仅具有整数坐标,还具有实数坐标,因此为了绘制在具有整数坐标的屏幕上,需要光栅化技术。是的,光栅化技术有很多种,其中我们只是尝试了 Bresenham 开发的中点算法和线条绘制算法。对吗?这是我们在上一堂课学习的内容,这次课我们将讨论这些点、线、多边形具有哪些属性。什么是属性?就是讨论特征。点可能具有什么属性?
Attendees 1 02:11
점에 크기라든가 점의 색상이라든가 그런 것들이 될 수 있겠죠.
그런 것들에 대해서 이제 한번 설명을 할게요. 그래서 오늘 공부할 내용은 기본 출력 객체들의 속성에 대해서 공부를 할 거고 예를 들면 색상이라든가 크기라든가 혹은 두께라든가 혹은 다각형 같은 경우는 채우기 스타일 채우기 패턴 그다음에 이런 속성들을 우리가 활용할 수 있도록 제공해 주는 오픈지의 함수들 이런 것들에 대해서 한번 살펴보도록 할 거예요.
먼저 기본 출력 객체의 속성은 점은 어떤 속성이 있을까요?
오른쪽에 포인트 어트리뷰트라고 이렇게 나와 있는데 뭐 빨간색 그다음에 초록색 파란색 색상이 다른 점들이 있죠.
그래서 색상이 첫 번째 속성이 될 수 있을 거예요. 그다음에 빨간 점과 초록 점은 크기가 어때요?
다르죠? 점의 크기가 두 번째 소품이 될 수도 있을 거고 그다음에 선 라인 어트리뷰트라고 나와 있는데 여기 빨강 초록 파랑 검정 4개의 선이 있는데 일단은 색상이 다 다른 거죠.
参会者 1 02:11 可能是点的大小、点的颜色等。我们现在来解释这些。今天我们将学习基本输出对象的属性,比如颜色、大小、粗细,或者对于多边形,是填充样式、填充模式,以及 OpenGL 提供的用于使用这些属性的函数。首先,基本输出对象的属性是什么?点有哪些属性?右侧显示了点属性,有红色、绿色、蓝色不同颜色的点。所以颜色可能是第一个属性。然后,红点和绿点的大小不同吗?点的大小可能是第二个属性。在线条属性中,有红、绿、蓝、黑 4 种颜色的线,首先颜色是不同的。
Attendees 1 03:27
그래서 선도 색상이 속성이 될 수 있고 그다음에 빨간 빨간색과 초록색 선은 색상도 다르지만 뭐가 또 달라요?
두께도 다르죠. 그래서 두께도 하나의 어트리뷰트가 될 수 있다는 얘기고 그다음에 빨강색과 초록색과 검정색은 두께는 동일한 것 같아요.
그렇죠 하지만 뭐가 달라요? 선의 패턴이 다르죠 얘는 실선이고 얘는 점선이죠.
이러한 것들도 이제 선이 갖는 속성들이 될 수 있는 거죠.
그다음에 다각형 한번 볼까요? 다각형은 맨 왼쪽에 있는 하얀색 다각형은 사실 이거는 채우기를 안 한 거예요.
사각형인데 채우기를 안 했고 그다음에 이 빨간색 삼각형은 삼각형인데 채우기를 한 거고 그다음에 채우기를 할 때도 빨간색으로 채울 수도 있고 파란색으로 채울 수도 있겠죠.
그래서 이렇게 색상과 채우기 스타일 이런 것들이 다각형의 속성이 될 수 있고 그다음에 다각형을 채울 때 어떤 패턴을 가지고 다각형을 채울 수도 있겠죠.
所以线条的颜色也可以成为一个属性,接下来红色和绿色的线条不仅颜色不同,还有什么不同呢?线条的粗细也不同。所以粗细也可以成为一个属性,然后红色、绿色和黑色的线条粗细似乎是相同的。但是还有什么不同呢?线条的样式不同。这是实线,那是虚线。这些都可以成为线条的属性。接下来看看多边形?最左边的白色多边形实际上是没有填充的。这是一个矩形,没有填充,然后这个红色的三角形是一个有填充的三角形。填充时可以用红色填充,也可以用蓝色填充。所以颜色和填充样式等都可以成为多边形的属性,并且在填充多边形时,还可以使用不同的填充图案。
Attendees 1 04:35
그래서 이런 것도 채우기 패턴 등도 이제 다각형이 갖는 속성이다 이렇게 생각할 수가 있어요.
바로
所以这些填充图案等也可以被视为多边形的属性。就是这样
Attendees 1 04:50
이게 왜 넘어가지? 바로
与会者 1 04:50 这为什么会跳过?立即
Attendees 1 05:03
다음 장 넘어가는데 바로 넘어가네 왜 그러죠? 뭐가 자동으로 넘어가기가 돼 있나
与会者 1 05:03 下一页正在翻页,怎么直接跳过了?为什么会这样?是否有什么自动翻页的设置
Attendees 1 05:14
아무것도 없는데
与会者 1 05:14 什么都没有
Attendees 1 05:20
그대로 넘어가네.
与会者 1 05:20 就这样过去了。
Attendees 1 05:27
그러면 과연 오픈gl에서는 오픈gl에서는 이런 기본 객체들의 속성을 어떤 식으로 관리하고 있나 한번 살펴봤더니 스테이트 베리어블 형태로 관리를 한대요.
상태 변수 상태 변수 형태로 기본 객체의 속성들을 저장을 하는데 그래서 한 번 설정된 속성 값은 새로운 값이 설정되기 전까지 변하지 않는다라는 특징이 있어요.
그래서 한 번 설정해 놓으면 그 값이 쭉 가는 거예요.
그다음에 그러면은 이제 새로운 값을 설정해 주는 함수를 제공을 해줘야겠죠.
그 오픈지은 속성 값을 설정하는 혹은 변경하는 함수를 제공을 해요.
그래서 여러분 지금까지 몇 개 함수 한번 다 사용을 해봤어요.
제일 먼저 쓴 게 아마 GL 칼라 3D 혹은 3f라는 함수일 거예요.
여기 GL 버텍스 2iv 2차원 좌표를 지정을 하는 거죠.
2차원 정수 좌표를 배열의 형태로 지정을 하겠다는 얘기예요.
p1이라는 점의 위치가 여기라고 가정을 할게요.
与会者 1 05:27 那么在 OpenGL 中,究竟是如何管理这些基本对象的属性的呢?我查看后发现,它是以状态变量的形式进行管理的。以状态变量的形式存储基本对象的属性,一旦设置了属性值,在没有设置新值之前,这个值就不会改变。也就是说,一旦设置,这个值就会一直保持。接下来,当然需要提供一个设置新值的函数。OpenGL 确实提供了设置或更改属性值的函数。到目前为止,大家可能已经使用过几个函数了。最先使用的可能是 GL Color 3D 或 3f 函数。这里有 GL Vertex 2iv,用于指定二维坐标,即以数组形式指定二维整数坐标。假设点 p1 的位置在这里。
Attendees 1 06:35
그다음에 p2는 여기고 이제 p3는 여기라고 가정을 하면은 위에서 이 점을 이제 뭘로 그리는 거예요?
좌표들을 포인트 포인트들로 그리는 거죠. 근데 이 점 그리기 전에 색상을 이거는 무슨 색으로 설정을 한 거예요?
빨간색으로 설정을 한 거죠. 빨간색으로 설정을 하고 그다음에 p1의 좌표를 지정을 해주면은 이 p1은 빨간색 점으로 그려지겠죠.
그래서 현재 상태는 현재 상태는 그리기 펜의 상태는 무슨 색이에요?
빨간색이에요. 특별히 지정하지 않으면 이후에 모든 도형들이 다 이제 빨간색으로 그려져요.
그러면 내가 p2하고 p3를 파란색으로 그리고 싶다 그러면 어떻게 줘야 되나 상태를 변경해야겠죠.
그때 마찬가지로 GL 칼러 3f 001 요즘에 이제는 팬의 상태가 뭐가 된 거예요?
파란색으로 된 거죠. 상태 변수가 바뀐 거예요. 그래서 GL 버텍스 2iv p2의 좌표를 넣어주고 p3에 좌표를 넣어주면은 p2와 p3는 무슨 색이 된다 파란색 점으로 그려지게 된다라는 얘기예요.
与会者 1 06:35 然后 p2 在这里,p3 在这里。现在我们要用什么来绘制这些坐标?是用点,绘制这些点。但在绘制点之前,我们将颜色设置为什么?设置为红色。设置为红色后,然后指定 p1 的坐标,那么 p1 就会被绘制成红色点。当前状态,当前绘图笔的状态是什么颜色?是红色。如果没有特别指定,之后所有的图形都会被绘制成红色。那么如果我想将 p2 和 p3 绘制成蓝色,应该怎么做?需要改变状态。这时,同样使用 GL Color 3f 0,0,1,现在绘图笔的状态变成了什么?变成蓝色了。状态变量已经改变。因此,输入 GL Vertex 2iv 的 p2 坐标,然后输入 p3 的坐标,p2 和 p3 就会被绘制成蓝色点。
Attendees 1 07:44
그래서 이 상태 변수의 개념을 지금 설명하기 위한 예제 코드라고 이해를 하면 될 것 같아요.
그러면은 도대체 오픈젤에서 상태 변수가 상태 변수로 관리하는 속성들이 얼마나 많을까 굉장히 많겠죠.
왜 앞에서 얘기했던 이런 색상 크기 패턴, 두께 채우기 스타일 이런 것들이 다 상태 변수로 관리돼서 한 번 지정하면은 그 이후에 쭉 영향을 미치는 거예요.
오픈gl은 다양한 속성을 제공하면서 상태 변수로 관리를 한다.
그런 얘기죠. 점과 선의 색상 점의 크기 선의 두께 선의 패턴 이런 것들이 이제 상태 변수의 대표적인 예제들이 되는 거고 그다음에 아직 배우지 않았지만 행렬도 상태 변수예요.
모델 비행렬이라는 것도 있고 프로젝션 행렬이라는 것도 있는데 이것도 한 번 설정해 놓으면은 바꾸기 전까지는 그 값이 쭉 가요.
걔도 상태 변수고 그다음에 현재 선택된 행렬의 모두도 상태 변수예요.
与会者 1 07:44 这个状态变量的概念现在可以理解为是为了解释这个示例代码。那么在 OpenGL 中,状态变量管理的属性有多少呢?肯定非常多。就像之前提到的颜色、大小、模式、线条粗细、填充样式等,这些都是通过状态变量管理的,一旦设置后,就会持续生效。OpenGL 提供了各种属性,并通过状态变量进行管理。点和线的颜色、点的大小、线的粗细、线的模式都是状态变量的典型示例。另外,尽管我们还没有学习,但矩阵也是状态变量。模型矩阵和投影矩阵,一旦设置,在改变之前都会保持不变。这也是状态变量,另外,当前选择的矩阵模式也是状态变量。
Attendees 1 08:53
그 얘기는 뭐냐 하면 우리가 모델 비행렬을 선택할 수도 있고 프로젝션 행렬을 선택할 수도 있는데 내가 한 번 모델 비행렬을 선택해 놓으면은 이후에 모든 연산들이 다 모델 행렬에 적용이 된다는 얘기예요.
별도로 바꾸지 않는 이상은 현재 행렬에 현재 선택된 행렬 모드도 상태 변수고 그다음에 현재 선택된 프레임 버퍼 프레임 버퍼가 두 개 있다고 하면은 특별히 바꾸지 않는 이상은 선택된 게 쭉 간다는 얘기고 그다음에 나중에 이제 배우겠지만 조명 효과에 대한 여러 가지 파라미터들이 있는데 조명의 색상이라든가 조명의 위치라든가 이런 것도 스테이트 베리어블 형태로 내부적으로 관리가 된다라는 거죠.
그래서 이런 상태 변수들은 오픈 지에서 제공이 되는데 물론 어떤 값이 있을까요?
상태 변수는 디폴트 값을 가져요. 우리가 GL 칼라 3f 여기서 이것도 설정하지 않고 이것도 설정하지 않은 상태에서 뭔가 세 점을 그리면 어떤 색으로 그려질까요?
与会者 1 08:53 这是什么意思呢?我们可以选择模型矩阵或投影矩阵,一旦选择了模型矩阵,之后的所有操作都将应用于模型矩阵。除非特别改变,否则当前选择的矩阵模式会一直保持。同样,如果有两个帧缓冲区,除非特别改变,否则选定的缓冲区会一直保持。之后我们还会学习光照效果的各种参数,如光照颜色、光照位置等,这些也是以状态变量的形式在内部管理。这些状态变量是 OpenGL 提供的,当然它们都有默认值。如果我们不设置 GL_COLOR_3F,在绘制三个点时,它们会是什么颜色呢?
Attendees 1 09:56
흰색 아니면 검은색으로 그려져요. 그건 이제 확인을 해봐야겠지만 000 아니면 1 1 1이에요.
그래서 그런 디폴트 값을 갖는다 라는 얘기예요. 그래서 새로운 값이 설정되기 전까지는 상태 변수의 값은 변경되지 않는다라는 특징이 있고 왜 자꾸 상태 변수 얘기를 하냐 하면은 기본 객체의 속성이 뭘로 관리되기 때문에 상태 변수로 관리되기 때문이에요.
알겠죠? 이제 바로 오픈 지 함수들 몇 가지 이제 살펴볼 거예요.
GL 클리어 컬러라는 거 혹시 기억나나요? 클리어 칼라 클리어 컬러라는 거는 이거는 이제 초기화할 색을 지정하는 함수예요.
색상 목표를 초기화할 색을 지정하는 함수 그래서 레드 그린 블루의 성분을 넣어주면 되죠.
이 함수 어디서 나왔나? 우리 메인 함수 맨 앞쪽에 서 있었죠 한번 코드 볼까요?
与会者 1 09:56 它是用白色或黑色绘制的。这需要确认,但是是 0 或 1 1 1。这就是说它具有这样的默认值。所以在设置新值之前,状态变量的值不会改变,这就是为什么我一直在谈论状态变量,因为基本对象的属性是通过状态变量管理的。明白了吗?现在我们将立即查看一些 OpenGL 函数。还记得 GL 清除颜色吗?清除颜色是用于指定初始化颜色的函数。指定颜色目标的初始化颜色,只需输入红、绿、蓝的分量即可。这个函数是从哪里来的?是不是在我们主函数的最前面?我们来看看代码。
Attendees 1 11:07
랜덤 함수 있네 랜덤 랜덤 함수가 어떤 콜백 함수라고 했어요.
메인 함수에서 랜덤 함수는 어떤 용도로 그려줬나요?
등록을 시켜줬나 그리기 전용 콜백 함수로 등록을 시켜줬죠.
그래서 랜더 함수가 이제 그림을 그리는 역할을 하는데 그 첫 번째 줄이 주의 클리어 컬러였어요.
이게 바로 뭔가 상태 변수의 속성을 지정해 주는 거예요?
어떤 색으로 지정을 해준 거예요? 000 검정색으로 해준 거죠.
그다음에 알파 값은 1이라니까 알파는 1이면은 알파가 뭘 나타내는 거예요?
불투명도를 나타내는 거죠. 알파는 불투명도 그래서 1이면은 불투명한 거고 0이면은 아예 투명한 거고 0.5면은 반 정도 투명한 그런 색상이에요.
알겠죠 그래서 1.0 알파를 1.0으로 줬다는 얘기는 아예 그냥 불투명하게 그다음에 색상은 검정색으로 색상 거퍼를 초기화할 색을 지정했다.
그런 얘기예요. 그다음에 실제로 색상 거퍼를 초기화하는 거는 어떤 함수일까요?
쥐엘 클리어라는 함수였죠.
与会者 1 11:07 这里有随机函数,随机随机函数。我们说过它是一个回调函数。在主函数中,随机函数是用来做什么的?注册了吗?注册为专门的绘图回调函数。所以渲染函数负责绘图,它的第一行是清除颜色。这就是在指定状态变量的属性?用什么颜色指定的?是黑色,000。然后 alpha 值是 1,alpha 代表什么?代表不透明度。Alpha 是不透明度,1 就是完全不透明,0 就是完全透明,0.5 就是半透明。明白了吗?所以将 alpha 设为 1.0 意味着完全不透明,颜色初始化为黑色。那么实际上初始化颜色缓冲区的函数是什么?是 GL 清除函数。
Attendees 1 12:25
쥬엘 클리어 바로 그 밑에 있는 바로 그 밑에 있는 쥐 클리어에서 칼라 버퍼의 비트를 뭘로 초기화하겠다는 얘기예요.
그래서 000 1로 초기화하겠다는 얘기예요. 이거는 배열이죠.
배열 배열을 초기화하는 함수예요.
与会者 1 12:25 朱尔清除,就在其正下方,就在其正下方的鼠标清除中,关于要用什么初始化颜色缓冲区的位。因此说的是要用 000 1 初始化。这是一个数组。这是一个初始化数组的函数。
Attendees 1 12:47
그럼 내부적으로 어떤 일이 발생하나 여기 이제 칼라 버퍼는 우리 600바이 600이라고 가정을 하고 RGB a 성분이 있으면 600b 600 40 4죠 그 값이 다 뭘로 초계화가 되는 거예요?
내가 1 아니 000 넣었으면 여기 있는 000 1 0001 001로 다 초기화가 되는 거죠.
그럼으로써 이게 그림이 어떤 바탕 화면이 어떻게 그려지는 거죠 검은색 바탕 화면이 그려지는 거죠.
与会者 1 12:47 那么在内部会发生什么?现在假设颜色缓冲区是 600 乘 600,如果有 RGB a 分量,那就是 600b 600 40 4。所有的值都会被初始化为什么?如果我输入 1,不,000,那么这里的 000 1 0001 001 都会被初始化。通过这样,屏幕是如何绘制的?绘制的是黑色背景。
Attendees 1 13:26
그래서 이제 하나씩 살펴보면은 먼저 여러 가지 속성을 나타내는 함수 중에서 색상을 지정하는 함수, 객체의 색상을 지정하는 함수가 줄 컬러 3 3는 RGB고 4는 어떨 때 쓸까요?
rgba 뭔가 불투명도까지 같이 지정해 줄 때 쓰는 거고 그다음에 isfd i는 인티저 는 숏 타입이고 f는 플롯 d는 더블 타입이라고 했고 v는 배열의 형태로 주고 싶을 때 쓴다고 했었죠.
그래서 여기 그림 이거는 이제 예제 1이라고 나와 있는데 우리 코드 보면은 코드를 한번 볼까요?
与会者 1 13:26 所以现在让我们逐一查看,首先在多种用于表示属性的函数中,用于指定颜色的函数,即用于指定对象颜色的函数,行颜色 3 3 是 RGB,那么 4 是什么时候使用呢?rgba 似乎是在想要同时指定不透明度时使用,然后 isfd 中 i 是整数类型,s 是短整型,f 是浮点型,d 是双精度类型,v 是用于想要以数组形式传递时使用。所以这里的图是示例 1,我们来看看代码,好吗?
Attendees 1 14:17
관측 공간을 이번에는 여기 관측 공간을 어디로 지정을 했어요?
与会者 1 14:17 这次观测空间被指定在哪里?
Attendees 1 14:24
관측 공간을 어디로 지정했나 우리 전에는 이렇게 지정을 했죠.
기억나나요?
与会者 1 14:24 我们之前在哪里指定了观测空间?是这样指定的,还记得吗?
Attendees 1 14:33
이렇게 지정한 것과 이렇게 지정한 것의 차이가 뭘까 두 개의 차이
与会者 1 14:33 这样指定和那样指定有什么区别呢?两者的区别是什么
Attendees 1 14:53
이게 오픈지 좌표계예요. 오픈 좌표계고 오픈지 좌표기는 무한히 있는 거예요.
무한히 펼쳐져 있는 거예요. 이제 관측 공간이라는 게 여기 이전에는 이렇게 지정을 했어요.
마이너스 10 플러스 10 마이너스 10 플러스 10 그러면은 마이너스 10 플러스 10 마이너스 10 플러스 10 무한히 넓은 공간 중에서 우리가 바라보는 공간은 여기만 바라보겠다는 얘기죠.
그러면은 중심의 좌표가 얼마큼 얼마가 될까요? 0 콤마 0이 되죠.
여기는 얼마 1 콤마 10이 되죠. 근데 여기는 어떻게 지정을 했나 0하고 위드 스 왼쪽이 0이고 오른쪽이 위드스 위 위드스는 뭔가요?
윈도우의 너비죠. 그다음에 아래쪽은 0이고 위쪽은 하이트로 지정했으면은 어떤 원칙 평면이 일정이 될까요?
여기서 0이니까 이만큼이죠. 그다음에 위드스 아까 얼마였어요 우리 600에서 600 저기 600까지 600까지 가서 이만큼 그다음에 아래쪽은 얼마 0이죠.
여기 그다음에 위쪽은 얼마 600이죠.
与会者 1 14:53 这是一个开放坐标系。是开放坐标系,开放坐标系是无限的。它是无限展开的。现在,观测空间之前是这样指定的。负 10 到正 10,负 10 到正 10。那么在无限宽广的空间中,我们要观测的空间就是这部分。那么中心坐标将是多少?是 0,0。这里是 1,10。但是它是如何指定的呢?左边是 0,右边是宽度。宽度是什么?窗口的宽度。然后底部是 0,顶部是高度。那么在这个原则平面上会是什么?这里是 0,就是这么多。然后宽度是多少?之前是 600 到 600,到 600 为止,然后底部是 0,顶部是 600。
Attendees 1 16:17
이만큼에서 우리가 바라보고 관측하겠다는 공간이 이제 이만큼이 되는 거예요.
그러면 오픈 제일 좌쪽에는 원점이 어디 있게 되는 거예요?
이번에는 좌측 하단이 언커머 0이 되는 거죠. 여기가 0 콤마 0이 되는 거예요.
그럼 이 끝은 얼마가 될까 600콤마 600이 되겠죠 600 콤마 600이 되고 그래서 이렇게 한번 지정을 해볼게요.
与会者 1 16:17 在这个范围内,我们要观测的空间就是这么多。那么在开放坐标系的最左侧,原点将位于何处?这次是左下角作为原点 0。这里是 0,0。那么这个末端将是多少?将是 600,600,所以我们来这样指定一下。
Attendees 1 16:53
반칙 공간을 이렇게 지정하고 그다음에 여기 이제 스위치 케이스 해가지고 여러 가지 실험들이 나오는데 1번부터 한번 볼게요.
1번 스위치 한 다음에 1이라고 바꾸면은 케이스 1 요 밑에 문장이 실행이 되겠죠.
그래서 테스트 1에서는 GL 비기인 GL 엔드에서 삼각형을 그리네요.
그렇죠 삼각형을 그리는데 버텍스 좌표 3개를 지정해 줬어요.
150 콤마 200 150 콤마 200이 대략 어디 어느 위치인지 알겠어요 우리 좌측 좌측 하단이 0 컵마형이죠.
그럼 150컵마 우리 일사분면을 보고 있다고 생각하면 돼요.
근데 요점에 이 점을 그리기에 앞서 속성을 뭘로 해줬어요?
이게 무슨 색이죠? 빨강색 그다음에 두 번째 점 좌표는 350콤마 200이에요.
근데 이걸 그리기 전에 색상을 초록색으로 해주고 그다음에 세 번째 점의 좌표는 250 350 색상은 파란색으로 했어요.
자 여기까지만 한번 해보고 그려볼까요?
与会者 1 16:53 指定这个反向空间,然后在这里切换案例,进行各种实验,我们先看第 1 个。切换到 1,然后将其更改为 1,案例 1 下面的句子将被执行。所以在测试 1 中,在 GL 初始化和 GL 结束之间绘制三角形。是的,绘制三角形,指定了 3 个顶点坐标。150,200 150,200 大概在哪个位置,你知道吗?我们的左下角是 0 坐标。那么 150 坐标,我们可以认为在第一象限。但是在绘制这些点之前,属性是什么?这是什么颜色?红色,然后第二个点坐标是 350,200。在绘制之前,将颜色改为绿色,然后第三个点坐标是 250 350,颜色为蓝色。好的,我们就到这里,然后绘制看看?
Attendees 1 18:01
이 상태에서 실행을 하면은 삼각형 하나가 그려지는데 어떤 삼각형이 그려질까요?
점에 세 점의 색상이 다 다른 거죠. 지금
与会者 1 18:01 在这种状态下执行,会绘制一个三角形,会是什么样的三角形呢?三个点的颜色都不同。现在
Attendees 1 18:15
그러면 이런 삼각형이 그려지면 돼요. 여기가 몇 0 콤마 0이고 여기가 600콤마 600이고 빨강색 점이 아마 여기 같은 것 같아요.
빨강색 초록색 파란색으로 삼각형을 그리시오 했더니 내부는 어떻게 되나요?
보관이 되죠. 인터플레이션 보관이 돼서 이렇게 그려지게 돼 있어요.
与会者 1 18:15 那么这样就可以画出三角形了。这里是 0 逗 0,这里是 600 逗 600,红色点可能在这里。我说用红色、绿色和蓝色画一个三角形,内部会怎么样呢?会保存。通过插值保存,然后这样绘制出来。
Attendees 1 18:43
그 밑에 코드는 뭔가 한번 볼까요? 이번에는 칼라를 뭐로 준 거야?
RGB에서 초록색으로 컬러 배열을 준 거죠. 그다음에 GL 컬러 3 f 그래서 fv를 줬네요.
v 배열의 형태로 색상을 지정한 거고 밑에다가 이제 삼각형 하나를 더 그린 거죠.
이 삼각형은 뭘로 그려질까? 여기서 초록색으로 가장 최근에 상태 변수 변경한 게 초록색이죠.
이제 초록색으로 그려지게 될 거예요. 만약에 이걸 안 했으면 어떻게 그려질까요?
무슨 색으로 그려질까? 현재 색상은 무슨 색이에요?
마지막 지정한 색이 파란색이죠. 그래서 파란색이 그려질 거고 여기서 바꾸면은 이제 초록색으로 그려질 거예요.
与会者 1 18:43 我们来看看下面的代码?这次颜色是什么?在 RGB 中给了绿色颜色数组。然后是 GL 颜色 3f,所以给了 fv。以数组的形式指定颜色,然后在下面又画了一个三角形。这个三角形会怎么绘制?在这里,最近状态变量改变为绿色,所以现在会用绿色绘制。如果没有这样做,会怎么绘制?会是什么颜色?当前颜色是什么?最后指定的颜色是蓝色。所以会用蓝色绘制,在这里改变后,就会用绿色绘制。
Attendees 1 19:42
그래서 하나는 첫 번째 삼각형은 각 점의 색이 다르기 때문에 빨강 초록 파랑이 보관이 돼서 삼각형이 하나 그려지고 두 번째 삼각형은 이렇게 초록색 삼각형으로 그려지게 되는 결과를 얻을 수가 있겠죠.
그래서 요 예제를 보는 거는 좋은데 여러분이 여기서 이제 이 예제에서 알고 넘어가야 되는 게 어떤 함수예요?
GL 칼라라는 함수죠 GL 칼라 GL 컬러라는 함수를 알고 넘어가야겠네요.
두 번째 두 번째는 뭔가 아까 칼라 설정할 때 3f도 3도 있지만 4도 있다고 했죠.
마지막 좌표 값이 뭐라고 했나요? 불투명도를 나타내는 거죠.
알파 값이라고 했어요. 그래서 블렌딩이라는 게 가능해요.
블렌딩 블렌딩이라는 건 뭐예요? 블렌드 된 이스키는 뭐예요?
섞은 거죠. 그래서 블렌딩이라는 건 색을 섞는 거를 블렌딩이라고 하죠.
여기서 색상 블렌딩을 이제 제어하는 함수가 먼저 있는데 나는 색상을 블렌딩 할 거야라고 시스템한테 먼저 알려줘야 돼요.
参会者 1 19:42 所以第一个三角形是因为每个点的颜色不同,红色、绿色、蓝色被保存,从而绘制出一个三角形,第二个三角形就会被绘制成绿色三角形。所以查看这个例子很好,但是你们在这里需要了解的是哪个函数?GL 颜色函数,GL 颜色函数。第二个,我们之前提到颜色设置时有 3f 和 3,但也有 4。最后一个坐标值是什么?是不透明度,我们称之为 alpha 值。这样就可以进行混合了。混合是什么?混合是什么?就是混合。所以混合就是颜色的混合。在这里,首先要告诉系统我要进行颜色混合。
Attendees 1 21:08
그게 뭐냐 하면은 이네이블이라는 함수예요. 이네이블 GL 이네이블이라는 거는 공용 함수예요.
공용 뭔가 기능을 켜고 혹은 디세이블 함수는 어떤 기능을 끄고 할 때 사용하는 공용 함수이고 내가 블렌딩 기능을 사용하겠다 하면 어떻게 해줘야 될까 GL 이네이블 한 다음에 GL 언더바 블랜드라는 상수를 파라미터를 전달을 하면은 앞으로 블렌딩 기능을 사용하겠다 그런 얘기예요.
됐나요? 그다음에 GL 디세이블 한 다음에 GL 블랜드 하면 앞으로 블렌딩 기능을 사용하지 않겠다라는 얘기예요.
그럼 블렌딩을 하려면 블렌딩 기능은 일단 켜야겠죠.
키고 그다음에 이제 그냥 RGB 색상을 지정해 주는 게 아니라 뭘 지정해줘야 돼요?
RGB a 색상을 지정을 해줘야겠죠. 그래서 그때 사용되는 함수가 주의 컬러 함수에다가 4가 들어갈 거예요.
参会者 1 21:08 那是什么呢?是 Enable 函数。GL Enable 是一个通用函数。它是用于开启或关闭某些功能的通用函数。如果我想使用混合功能,该怎么做?使用 GL Enable,然后传递 GL_BLEND 常量作为参数,意思是我将要使用混合功能。明白了吗?接下来,如果使用 GL Disable 和 GL Blend,就是说我不再使用混合功能。那么要进行混合,首先要开启混合功能。开启后,不仅要指定 RGB 颜色,还要指定什么?要指定 RGBA 颜色。因此,到时候会在颜色函数中使用 4 个参数。
Attendees 1 22:13
4 그다음에 뭐 f를 써도 되고 d를 써도 되고 아무튼 만약에 i를 쓰면 어떻게 될까?
아 아는 인테이저니까 0부터 1까지 값을 넣으면 안 되고 얼마부터 얼마까지 값을 넣어야 돼요.
i를 쓰게 되면 0부터 255까지의 값을 넣어줘야겠죠.
그래서 GL 컬러 4f라고 예를 들었다고 하면 레드 그린 블루는 우리가 지금까지 사용했던 파라미터하고 동일하고 마지막 좌표가 알파고 알파는 불투명도를 나타내서 0이면은 불투명하지 않다.
즉 투명하다는 얘기고 1이면은 불투명하다라는 얘기예요.
자 그러면은 이 블랜딩이라는 게 도대체 어떻게 이루어질까 블랜딩이라는 게 바로 다음과 같은 메커니즘에 의해서 결정이 되는데 요 c라는 게 이제 최종 색상이에요.
최종 색상 최종 색상이고 여기 막 빨간색이 바탕 화면에 있다고 할게요.
배경에
听众 1 22:13 4 那么接下来无论是写 f 还是 d,如果写 i 会怎么样呢?啊,因为是整数,所以不能从 0 到 1 赋值,那么到底应该从多少到多少赋值呢?如果使用 i,就必须给出 0 到 255 之间的值。比如说 GL 颜色 4f,红色、绿色、蓝色与我们之前使用的参数相同,最后一个坐标是阿尔法,阿尔法表示不透明度,0 意味着不不透明,也就是说是透明的,1 则意味着不透明。那么,这个混合到底是如何发生的呢?混合正是通过以下机制决定的,这个 c 是最终颜色。最终颜色,最终颜色,假设屏幕背景是红色。
Attendees 1 23:25
이렇게 하지 말고 바보같이 하고 있네. 이거 삼각형 하나 파워포인트에서 그리는데 얘 색상을 우리 빨간색으로 할게요.
됐나요? 그냥 하나를 복사를 해서 이만큼을 집어넣었어요.
그다음에 얘는 무슨 색으로 할까 파란색으로 할게요.
파란색으로 할 거고 자 여기서 겹쳐지는 부분이 어디예요?
겹쳐지는 부분 겹쳐지는 부분이 이 부분이죠. 요 부분 이 부분에 파란색 삼각형을 그리기 전에 이제 전경과 배경이라는 게 나오는데
听众 1 23:25 别这么傻乎乎地做。我将在幻灯片中绘制一个三角形,并将其颜色设为红色。好了吗?我只是复制了一个,并将其放在这里。然后这个将用什么颜色?我将用蓝色。用蓝色,那么重叠的部分在哪里?重叠的部分,重叠的部分就是这里。在绘制蓝色三角形之前,现在出现了前景和背景的概念。
Attendees 1 24:10
요 빨간색 삼각형은 이미 그려져 있어요. 그렇죠 그다음에 파란색 삼각형을 그리는데 이 파란색 삼각형 입장에서 볼 거예요.
배경은 무슨 색일까요? 파란색 삼각형 입장에서의 배경 배경색과 전경색이 있는데 배경은 분은 이 부분은 무슨 색이에요?
배경이 빨간색이겠죠. 이 부분은 무슨 색일까 흰색이겠죠.
그래서 배경 색상이 뭔가 그리려는 거 이전에 이미 픽셀의 색을 배경 색상이라고 하는 거예요.
그래서 여기 CDs는 DS는 뭐의 약자일까 데스티네이션의 약자인 것 같아요.
배경 색상 배경 색상 그다음에 c 소스는 뭘까요? 씨 소스는 내가 그리려고 하는 전경 색상 이거 같은 경우는 이제 파란색이 되겠죠.
파란색이 되는 거고 그래서 여기 그냥 단순하게 단순하게 뭔가 블렌딩을 해주네요.
뭐에 따라서 알파 값에 따라서 블렌딩을 해줘요. 알파 값에 따라서 그래서 배경에다가 배경에 알파를 곱하고 알파를 곱하고 그다음에 전경 색상에다가 전경의 알파를 곱해줘요.
参会者 1 24:10 这个红色三角形已经绘制好了。是的,接下来我们要绘制蓝色三角形,从蓝色三角形的角度来看。背景是什么颜色呢?对于蓝色三角形来说,有背景色和前景色,背景是哪部分颜色?背景应该是红色。这部分是什么颜色?可能是白色。所以背景颜色是在绘制某些内容之前已经存在的像素颜色,我们称之为背景颜色。那么这里的 CDs 和 DS 是什么缩写?看起来 DS 是 Destination(目标)的缩写。背景颜色,背景颜色。那么 C Source(C 源)是什么?C Source 是我想绘制的前景颜色,在这种情况下,它将是蓝色。然后它只是简单地进行混合。根据 alpha 值进行混合。根据 alpha 值,将背景乘以 alpha,然后将前景颜色乘以前景的 alpha 值。
Attendees 1 25:32
근데 사실 이렇게 요 알파 값이 두 개가 독립적으로 주어지기보다는 얘가 만약에 0.5다 그러면 얘는 얼마가 될까요?
얘는 0.5면 좋겠죠. 1 1을 서로 나눠 가지면 좋을 거예요.
얘가 만약에 0.3이다 그러면 얘는 얼마가 되면 좋을까 0.7이 되면 좋겠죠.
그래서 여기도 보면은
参会者 1 25:32 但实际上,这两个 alpha 值并不是独立给出的。如果这个值是 0.5,那另一个会是多少?最好是 0.5,两者相加为 1。如果这个值是 0.3,那另一个最好是 0.7。所以看这里,
Attendees 1 26:05
여기 보면 투명도가 나오죠. 투명도 요 투명도가 뭐냐 하면은
在这里可以看到透明度。什么是透明度?
Attendees 1 26:14
76%를 했어요. 그럼 얘가 뭐가 76이 될까 이 공식에서 이 파란색이 지금 76 0.76이라는 얘기죠 아닌가 이거는 투명도니까 불투명도의 반대예요.
그 얘가 파란색이 0.24라는 얘기예요. 그다음에 요 빨간색은 이때 얼마가 쓰이는 걸까 0.76이 쓰이겠죠 얘가 0.76이 되고 얘가 0.24가 되니까 여기 딱 보니까 파란색이 더 강해요.
빨간색이 더 강해요. 빨간색이 더 강하죠. 그래서 여기는 흰색이 0.76이 되는 거고 이 파란색이 0.24가 되는 거죠.
두 개의 색상을 섞는 거예요. 비율로 여기는 배경색의 알파와 정경색의 알파를 이렇게 별도로 각각 각각 따로 줄 수 있다고 나와 있는데 실제 오픈 전에서 따로 줄 수 있어요.
하지만 일반적으로는 어떻게 줄까? 일반적으로는 얘 여기 파워포인트 인터페이스와 마찬가지로 내가 그리려고 하는 거에 알파를 주면은 배경은 1 빼기 그 알파를 쓰면 되겠죠.
设置为 76%。那么在这个公式中,这个蓝色现在是 0.76,对吗?这是透明度,也就是不透明度的反面。蓝色是 0.24。那么红色此时是多少呢?它会是 0.76。当蓝色是 0.24,红色是 0.76 时,可以看出红色更强。因此,这里白色是 0.76,蓝色是 0.24。这是混合两种颜色。文档中提到可以分别为背景色和前景色设置不同的 Alpha 值。在 OpenGL 中确实可以单独设置。但通常是如何处理呢?通常像 PowerPoint 界面一样,在你要绘制的对象上设置 Alpha 值,背景则使用 1 减去该 Alpha 值。
Attendees 1 27:31
얘만 지정을 해준다는 얘기예요. 보통 얘만 지정을 해주고 얘는 어떤 값이 자동으로 된다 1 빼기 2 값이 자동으로 된다는 얘기죠.
出席者 1 27:31 意思是只指定这个。通常只指定这个,而这个值会自动生成,1 减去 2 的值会自动生成。
Attendees 1 27:54
그런 식으로 그런 식으로 블렌딩 상수를 지정해 주는 함수가 바로 이거예요.
出席者 1 27:54 就是这样,就是这样通过指定混合常数的函数。
Attendees 1 28:06
배경색의 알파 값과 정경색의 알파 값을 이제 적당히 잘 지정을 해줘야 되는데 GL 블랜드 펑션이라는 함수를 통해서 여기가 들어가는 게 전경색의 알파 소스의 알파 그다음에 배경색은 어떻게 하겠다 따로 주는 게 아니라 그냥 원 마이너스 소스 알파를 배경색의 알파로 쓰겠다.
이렇게 펌프를 호출해 주면은 기본적으로 이제 블랜딩이 되는 거죠.
예제 2번 한번 볼게요. 예제 2번 테스트해보려면 이제 케이스 2 하면 되겠네요.
케이스 2에서 넘어가서 보면은 뭐하는 거 보면은 무슨 색 삼각형을 그려요?
여기 빨간색 삼각형을 하나 그리죠. 그다음에 뭘 했나 볼까요?
GL 이네이블을 해서 앞으로 블렌딩을 하겠다 그런 얘기죠.
그다음에 여기 GL 디세이블 해서 이제 블렌딩을 끄겠다 그런 얘기고 그다음에 블렌딩 상수는 어떻게 지정해 준다고 아까 GI 블랜드 펑션을 이용해서 소스 알파와 원 마이너스 소스 알파로 쓰겠다는 얘기죠.
与会者 1 28:06 现在需要适当地指定背景颜色的 Alpha 值和前景颜色的 Alpha 值,通过 GL 混合函数来实现。前景色的 Alpha 源,然后背景色不是单独设置,而是直接使用 1 减去源 Alpha 作为背景颜色的 Alpha。这样调用这个函数,基本上就实现了混合。让我们看看示例 2。想要测试示例 2,就选择案例 2。在案例 2 中,我们看到绘制了什么?绘制了一个红色三角形。接下来做了什么?通过 GL 启用来表示将进行混合。然后 GL 禁用,表示关闭混合。然后如何指定混合常数?就像之前说的,使用 GL 混合函数,将源 Alpha 和 1 减去源 Alpha 作为混合方式。
Attendees 1 29:20
그다음에 지금 배경에 그려져 있는 건 빨간색이죠.
그다음에 여기서 무슨 색이에요? 이거는 초록색이죠.
초록색을 지정을 하는데 컬러 4f를 써서 알파 값을 0.7로 지정을 해줬어요.
그러니까 불투명도가 0.7이라는 얘기예요. 그럼 투명도는 얼마라는 얘기예요?
30% 투명하다는 얘기죠. 그리고 삼각형을 하나 더 그렸어요.
그냥 여기서 그럼 결과는 어떻게 나올까
与会者 1 29:20 现在背景上绘制的是红色。那么这里是什么颜色?这是绿色。使用 Color4f 指定绿色,并将 Alpha 值设置为 0.7。也就是说不透明度为 0.7。那么透明度是多少?意味着透明 30%。然后又绘制了一个三角形。那么结果会是什么呢?
Attendees 1 29:55
30%만 투명한 결과가 보이나요? 아마 얼핏하게 이제 밑에 빨간색이 좀 보여요.
조금 더 투명하게 만들려면 어떻게 하면 되나 여기를 불투명도가 70은 너무 불투명한 거고 불투명도가 한 30만 해볼까요?
30
与会者 1 29:55 只有 30%是透明的结果吗?可能现在稍微可以看到下面的红色。如果要使它更加透明,我们应该怎么做呢?这里的不透明度 70 太不透明了,让我们尝试将不透明度降到 30 左右。
Attendees 1 30:27
불투명도가 30이니까 70%는 투명하다는 얘기죠.
그래서 이 초록색 삼각형의 색상이 초록색이 전경 색상이에요.
그다음에 배경 색상을 이 부분의 배경 색상은 빨간색이겠죠.
그다음에 이 부분의 배경 색상은 무슨 색일까 검정색이 되겠죠.
그래서 이 부분 그려줄 때는 빨간색과 초록색을 7 대 3으로 섞는 거고 이 부분 그려줄 때는 초록색과 검정색을 7 대 3으로 섞어서 그림을 그려준다는 얘기죠.
그렇게 되면은 이렇게 마치 어떤 색상 어떤 효과 투명한 효과를 우리가 얻을 수 있어요.
与会者 1 30:27 不透明度为 30 意味着 70%是透明的。所以这个绿色三角形的颜色是绿色的前景颜色。接下来,背景颜色在这部分是红色,然后在这部分的背景颜色将是黑色。因此,在绘制这部分时,我们将红色和绿色以 7 比 3 的比例混合,在绘制另一部分时,将绿色和黑色以 7 比 3 的比例混合。这样,我们就可以获得某种颜色效果和透明效果。
Attendees 1 31:11
자 여기서 알아야 되는 함수 몇 가지 블렌드 아니 지엘 이네이블 한 다음에 블렌딩을 키는 거 그다음에 끄는 거 그다음에 뭐죠?
이거 블렌딩 상수를 지정해 주는 함수 블렌딩 상수는 이렇게 지정을 할 수도 있어요.
어떻게 만약에 이걸 끄고 GL 블렌드 펑션에서 소스는 일로 하고 배경의 색상은 제로로 하고 뭐 이렇게 지정을 할 수도 있을 것 같은데 이렇게 되면 어떻게 될까
出席者 1 31:11 在这里,我们需要了解几个函数。首先启用 GL,然后打开混合,接着关闭。然后呢?这是用于指定混合常数的函数。混合常数可以这样设置。比如,如果关闭它并在 GL 混合函数中将源设为某个值,背景颜色设为零,那会发生什么?
Attendees 1 31:51
이렇게 되면 그냥 초록색이 완전 불투명하게 그려지죠.
여기서 0.3으로 줬어도 이 함수에서 그냥 저기 뭐야 전경을 1로 하고 배경을 무조건 0으로 했다고 하면은 이게 이제 안 먹게 되는 거예요.
그래서 이 0.3을 살리기 위해서는 어떻게 해야 된다 쥐 블랜드에서 소스 알파를 쓰겠다.
그다음에 배경은 1 빼기 소스 알파를 쓰겠다 됐네요.
出席者 1 31:51 这样的话,绿色就会完全不透明地绘制。即使设置了 0.3,但如果在这个函数中将前景设为 1,背景无条件设为 0,那么这个值就不会生效。为了保留这个 0.3,应该怎么做呢?在混合中使用源 Alpha,然后背景使用 1 减去源 Alpha。
Attendees 1 32:26
자 그다음에는 이제 점의 크기를 살펴보는 함수 점의 크기 오픈 GL 정점 속성에서는 크기 색상하고 크기가 있는데 아까 색상은 GL 칼러 함수 쓰면 되는 거고 그다음에 점의 크기는 GL 포인트 사이즈로 우리가 알 수가 있어요.
그래서 여기 보면 GL 칼라 3f 빨간색 그다음에 포인트 사이즈 15 굉장히 큰 거죠.
보통 1 1이에요. 디폴트는 1이면은 점 하나 이렇게 딱 찍혀요.
그냥 한 픽셀짜리 그다음에 포인트를 그리는데 이제 3개의 포인트를 그리니까 15짜리 이게 아마 15짜리인 것 같아요.
15픽셀짜리들 그다음에 칼라를 초록색으로 바꿨네요.
칼라를 초록색으로 바꾸고 이번에 포인트 사이즈를 30이라고 설정을 했어요.
30픽셀짜리 포인트 그래서 초록색으로 3점을 그리니까 이제 얘와 얘와 얘가 되는 거죠.
이거는 예제 3이니까 케이스 3 한번 해보면 될 것 같아요.
接下来我们来查看点的大小函数。在 OpenGL 顶点属性中,有颜色和大小。之前我们使用 GL 颜色函数设置颜色,点的大小则可以用 GL 点大小来设置。这里可以看到 GL 颜色 3f 是红色,然后点大小是 15,这是非常大的。通常默认是 1,即一个点只是一个像素大小。现在我们绘制 3 个点,可能是 15 像素大小。然后将颜色改为绿色,并将点大小设置为 30 像素。所以是 3 个绿色的 30 像素大小的点。这是示例 3,可以尝试 case 3。
Attendees 1 33:36
제가 케이스 3
我来演示 case 3。
Attendees 1 33:44
그래서 이게 15픽셀짜리 삼각형 점이고 그다음에 얘는 뭐다 30픽셀짜리 점이에요.
근데 점이 사각형으로 해지지 않고 동그랗게 그려지면 더 좋겠죠.
그래서 이거 동그랗게 그리려면 어떻게 해야 될까 이게 나오나 안 나오면 조금 이따 알려줄게요.
일단은 넘어가고
所以这是 15 像素的三角形点,接下来这个是 30 像素的点。但是如果点不是以方形绘制而是以圆形绘制会更好。那么要如何让它以圆形绘制呢?稍后我会告诉你。
Attendees 1 34:11
그래서 점의 크기 크기를 나타내는 거고 그다음에 이번에 이제 선의 속성에 대해서 살펴볼게요.
선의 속성은 10분 쉬었다가 1시 50분에 다시 할게요.
너무 졸리 밥 먹고 식곤증이 오는 것 같은데 1시 50분에 다시 시작할게요.
所以这是表示点的大小,接下来我们将了解线条的属性。线条的属性我们将在 10 分钟后的 1 点 50 分继续。现在可能有点困倦,吃完饭后犯困,我们将在 1 点 50 分重新开始。
clovanote.naver.com