官网: https://www.glfw.org/
是OpenGL的一个地方方苦,支持OpenGL、ES、Vulkan,支持多窗口高DPI 和gamma ramps,支持常用外设。开源用C实现的,要用zlib和libpng库。
首先包含头头文件
在glfw使用之前先要出世,初始化只要是检查环境是不是支持。
GLFWAPI int glfwInit(void)
初始化GLFW库,在应用称许执行之前要先调用这个函数,对应的终止函数是glfwTerminate,在应用程序结束之前要调用glfwTerminate,成功返回GLFW_TRUE
GLFWAPI GLFWerrorfun glfwSetErrorCallback(GLFWerrorfun callback)
设置错误回调函数,当一个错误发生时回调用错误码和一段描述信息。回调函数的个是如下:
GLFWAPI void glfwWindowHint(int hint, int value)
GLFWAPI void glfwWindowHintString(int hint, const char* value)
设置window的hints值,在glfwCreatewindow时生效,设置之后不会改变,知道遇到函数glfwDefaultWindowHints或GLFW终止。这个函数只能设置整形值,字符串的值通过glfwWindowHintString来设置。另外它不检查设置的值是否有效,在glfwCreateWindow的时候才会报.
GLFWAPI GLFWwindow* glfwCreateWindow(int width, int height, const char* title, GLFWmonitor* monitor, GLFWwindow* share)
创建GL/ES的上下文,参数指定了上下文如何创建,成功创建不影响当前上下文。
GLFWAPI void glfwMakeContextCurrent(GLFWwindow* window)
指定当前GL/ES上下文
GLFWAPI int glfwWindowShouldClose(GLFWwindow* window)
检查指定window的关闭状态.
先设置事件回调函数,输入事件比较多。
渲染的时候framebuffer的size可以设置和viewport一样大,也可以设置framebuffer size的回调函数。
GLFWAPI double glfwGetTime(void)
获取GLFW的时间,以秒为单位
GLFWAPI void glfwSetTime(double time)
设置GLFW的时间,以秒为单位,小于等于18446744073.0
GLFWAPI uint64_t glfwGetTimerValue(void)
获取raw timer的值,单位1 / frequency seconds
GLFWAPI uint64_t glfwGetTimerFrequency(void)
获取帧率单位是Hz
GLFWAPI void glfwSwapBuffers(GLFWwindow* window)
交换窗口的前后缓冲区,如果交换间隔大于0,交换缓冲区之前GPU驱动会等待specified number of screen updates
GLFWAPI void glfwSwapInterval(int interval)
设置当前上下文的交换间隔
有两种处理未决事件的方法; 轮询和等待。
GLFWAPI void glfwPollEvents(void)
处理所有事件队列中的事件,事件处理会调用一些回调函数。一些平台下,窗口移动、resize和菜单 *** 作都会触发事件处理,block当前的任务。
GLFWAPI void glfwWaitEvents(void)
等待所有处理中和队列中的事件完成,当前线程会进入sleep状态,如果有事件可用,就相当与glfwPollEvents.
GLFWAPI void glfwTerminate(void)
这个函数终止GLFW,这个函数会注销调剩余的windows and cursors,复位所有修改过的gamma ramps,释放申请的资源。对应glfwInit
GLFWAPI void glfwInitHint(i
nt hint, int value)
设置制定的初始化hint值,这个设置之后中间不能进行修改直至结束。有些hints是平台相关,这些只有在对应的平台上才会生效。
GLFWAPI void glfwGetVersion(int* major, int* minor, int* rev)
查询GLFW库的版本,major, minor and revision号
GLFWAPI const char* glfwGetVersionString(void)
查询编译阶段的配置,返回的是个字符串,包含版本、平台、编译器和平台相关的编译阶段的选项
GLFWAPI int glfwGetError(const char** description)
查询错误码并清除上一次的错误信息
GLFWAPI GLFWmonitor** glfwGetMonitors(int* count)
查询当前的连接监视器connected monitors,返回的是当前所有连接的monitor,primary monitor永远是数组的第一个。
GLFWAPI GLFWmonitor* glfwGetPrimaryMonitor(void)
查询primary monitor,task bar和global menu bar等基本信息都是显示在primary monitor中的。
GLFWAPI void glfwGetMonitorPos(GLFWmonitor* monitor, int* xpos, int* ypos)
获取虚拟屏幕中monitor的视口坐标
GLFWAPI void glfwGetMonitorWorkarea(GLFWmonitor* monitor, int* xpos, int* ypos, int* width, int* height)
获取monitor的工作区,返回的是屏幕坐标的位置,左上角和size的值。工作区是屏幕中没有系统任务条的区域,如果系统没有任务条,就是全屏幕。
GLFWAPI void glfwGetMonitorPhysicalSize(GLFWmonitor* monitor, int* widthMM, int* heightMM)
获取monitor的物理尺寸,单位是millimetres
GLFWAPI void glfwGetMonitorContentScale(GLFWmonitor* monitor, float* xscale, float* yscale)
获取monitor的content scale,这个值的计算:当前DPI与平台默认DPI之间的比。依赖于monitor的分辨率和设置的像素密度。
GLFWAPI const char* glfwGetMonitorName(GLFWmonitor* monitor)
获取monitor的名称
GLFWAPI void glfwSetMonitorUserPointer(GLFWmonitor* monitor, void* pointer)
设置monitor中用户自定义的pointer
GLFWAPI void* glfwGetMonitorUserPointer(GLFWmonitor* monitor)
获取monitor的用户自定义pointer
GLFWAPI const GLFWvidmode* glfwGetVideoModes(GLFWmonitor* monitor, int* count)
获取monitor的可用视频模式,返回的是一个数组,按照升序排列。
GLFWAPI const GLFWvidmode* glfwGetVideoMode(GLFWmonitor* monitor)
获取monitor的当前的视频模式,如果是全屏模式,返回值以来窗口是否iconified
GLFWAPI void glfwSetGamma(GLFWmonitor* monitor, float gamma)
根据指定的exponent生成一个合适尺寸的gamma ramp(gamma斜度)并设置,参数必须是一个大于0的finite number,用于色彩矫正,理想值是1.
GLFWAPI const GLFWgammaramp* glfwGetGammaRamp(GLFWmonitor* monitor)
获取当前的gamma ramp值
GLFWAPI void glfwSetGammaRamp(GLFWmonitor* monitor, const GLFWgammaramp* ramp)
设置monitor的gamma ramp,第一次调用这个函数并存储gamma的值是在glfwTerminate函数中
GLFWAPI void glfwDefaultWindowHints(void)
reset窗口的所有hints值,全设置为默认的。
GLFWAPI void glfwDestroyWindow(GLFWwindow* window)
destory指定的window和context
GLFWAPI void glfwSetWindowShouldClose(GLFWwindow* window, int value)
设置window的close flag。
GLFWAPI void glfwSetWindowTitle(GLFWwindow* window, const char* title)
设置窗口的title
GLFWAPI void glfwSetWindowIcon(GLFWwindow* window, int count, const GLFWimage* images)
为窗口设置Icon,传入一组备选图像,会选择尺寸接近的作为图标,如果没有传图像,用默认的图标。图像是32bit小端non-premultiplied RGBA8,按行排列从左上角开始。图像的尺寸会根据平台和系统设置进行resize,一般包括16x16,32x32和48x48.
GLFWAPI void glfwGetWindowPos(GLFWwindow* window, int* xpos, int* ypos)
获取指定区域的位置,返回的是屏幕坐标,原点在左上角
GLFWAPI void glfwSetWindowPos(GLFWwindow* window, int xpos, int ypos)
设置窗口坐标,如果是全屏没有效果
GLFWAPI void glfwGetWindowSize(GLFWwindow* window, int* width, int* height)
获取窗口的size,以屏幕坐标为单位,不是framebuffer的尺寸。
GLFWAPI void glfwSetWindowSizeLimits(GLFWwindow* window, int minwidth, int minheight, int maxwidth, int maxheight)
设置窗口的尺寸限制,如果是全屏模式,这个参数只有在创建窗口的时候其作用。其他情况下窗口要是可缩放的这个函数才有作用。
GLFWAPI void glfwSetWindowAspectRatio(GLFWwindow* window, int numer, int denom)
设置窗口的aspect ratio,如果是全屏模式,这个参数只有在创建窗口的时候其作用。其他情况下窗口要是可缩放的这个函数才有作用。aspect ratios是长宽比要大于0。
GLFWAPI void glfwSetWindowSize(GLFWwindow* window, int width, int height)
设置窗口的size.对于全屏窗口,此功能可更新其所需视频模式的分辨率并切换到最接近其的视频模式,而不会影响窗口的上下文。 由于上下文不受影响,因此帧缓冲区的位深度保持不变.
GLFWAPI void glfwGetFramebufferSize(GLFWwindow* window, int* width, int* height)
获取窗口的framebuffer的zise,以pixel为单位
GLFWAPI void glfwGetWindowFrameSize(GLFWwindow* window, int* left, int* top, int* right, int* bottom)
以屏幕坐标为单位检索指定窗口框架的每个边缘的大小。 包括标题栏。函数检索每个窗框边缘的大小,而不是沿特定坐标轴的偏移量,所以检索到的值将始终为零或正数。
GLFWAPI void glfwGetWindowContentScale(GLFWwindow* window, float* xscale, float* yscale)
此函数检索指定窗口的内容比例。 内容比例是当前DPI与平台默认DPI之比。 这对于文本和任何UI元素尤其重要。
GLFWAPI float glfwGetWindowOpacity(GLFWwindow* window)
获取窗苦的不透明度(alpha值),包括所有装饰物。该值时0到1之间的值,初始值为1.
GLFWAPI void glfwSetWindowOpacity(GLFWwindow* window, float opacity)
设置窗口的透明度
GLFWAPI void glfwIconifyWindow(GLFWwindow* window)
如果指定的窗口先前已还原,则此功能可图标化(最小化)指定的窗口。 如果窗口已被图标化,则此功能不执行任何 *** 作。 如果指定的窗口是全屏窗口,则将还原原始监视器分辨率,直到还原该窗口为止。
GLFWAPI void glfwRestoreWindow(GLFWwindow* window)
重置窗口,用在窗口进行了最大化或最小化的情况。如果指定的窗口是全屏窗口,则为该窗口选择的分辨率将在所选监视器上恢复。
GLFWAPI void glfwMaximizeWindow(GLFWwindow* window)
最大化窗口,如果窗口已经最大化,或是全屏模式不起作用
GLFWAPI void glfwShowWindow(GLFWwindow* window)
显示窗口,全屏不起作用,默认情况所有创建的窗口都是显示的,也可以通过glfwSetWindowAttrib设置GLFW_FOCUS_ON_SHOW_hint来设置
GLFWAPI void glfwHideWindow(GLFWwindow* window)
隐藏窗口,全屏不起作用
GLFWAPI void glfwFocusWindow(GLFWwindow* window)
此功能将指定的窗口置于最前面并设置输入焦点。 该窗口应该已经可见并且没有图标。 默认情况下,窗口和全屏模式窗口在最初创建时都会被聚焦。GLFWAPI void glfwRequestWindowAttention(GLFWwindow* window)
该功能要求用户注意指定的窗口。 作用不详
GLFWAPI GLFWmonitor* glfwGetWindowMonitor(GLFWwindow* window)
返回指定窗口处于全屏状态的监视器的句柄
GLFWAPI void glfwSetWindowMonitor(GLFWwindow* window, GLFWmonitor* monitor, int xpos, int ypos, int width, int height, int refreshRate)
设置指定窗口处于全屏状态的监视器的句柄,这个函数会更新monitor的宽、高、视频模式的刷新率。
GLFWAPI int glfwGetWindowAttrib(GLFWwindow* window, int attrib)
获取窗口或GL/ES上下文相关的属性值,framebuffer相关的hints不是属性。
GLFWAPI void glfwSetWindowAttrib(GLFWwindow* window, int attrib, int value)
设置窗口的属性值,支持的属性包含:GLFW_DECORATED、GLFW_RESIZABLE、GLFW_FLOATING、GLFW_AUTO_ICONIFY、GLFW_FOCUS_ON_SHOW。
GLFWAPI void glfwSetWindowUserPointer(GLFWwindow* window, void* pointer)
设置window的user pointer
GLFWAPI void* glfwGetWindowUserPointer(GLFWwindow* window)
返回window的user pointer
GLFWAPI void glfwWaitEventsTimeout(double timeout)
等待超时。
GLFWAPI void glfwPostEmptyEvent(void)
向事件队列中插入一个空事件
GLFWAPI int glfwGetInputMode(GLFWwindow* window, int mode)
获取窗口输入选项的值,mode取值为:GLFW_CURSOR, GLFW_STICKY_KEYS, GLFW_STICKY_MOUSE_BUTTONS, GLFW_LOCK_KEY_MODS, GLFW_RAW_MOUSE_MOTION。
GLFWAPI void glfwSetInputMode(GLFWwindow* window, int mode, int value)
设置窗口的输入模式,mode取值和get函数一样。
GLFWAPI int glfwRawMouseMotionSupported(void)
查询当前系统是否支持raw mouse motion,是否支持在初始化GLFW的时候一次确定,raw motion接近actual motion,它不受应用于桌面光标运动的缩放和加速度的影响。 该处理适合于光标,而原始运动更适合于控制3D相机。 因此,仅在禁用光标时才提供原始鼠标移动。
GLFWAPI const char* glfwGetKeyName(int key, int scancode)
获取按键名。
GLFWAPI int glfwGetKeyScancode(int key)
获取按键码。
GLFWAPI int glfwGetKey(GLFWwindow* window, int key)
获取按键的最后一个状态。
GLFWAPI int glfwGetMouseButton(GLFWwindow* window, int button)
获取鼠标的最后状态值。
GLFWAPI void glfwGetCursorPos(GLFWwindow* window, double* xpos, double* ypos)
获取光标位置,屏幕坐标。
GLFWAPI void glfwSetCursorPos(GLFWwindow* window, double xpos, double ypos)
设置光标位置,窗口必须有输入焦点,如果没有,这个函数无作用。原点在左上角。
GLFWAPI GLFWcursor* glfwCreateCursor(const GLFWimage* image, int xhot, int yhot)
创建一个自定义的光标,结合set一起使用,光比较的照片存储和图标的方式一样,按照像素,从左上角开始。
GLFWAPI GLFWcursor* glfwCreateStandardCursor(int shape)
以标准形状创建一个光标
GLFWAPI void glfwDestroyCursor(GLFWcursor* cursor)
销毁一个光标
GLFWAPI void glfwSetCursor(GLFWwindow* window, GLFWcursor* cursor)
设置光标开始在窗口上进行使用,光标要显示害死哟啊设置光标的模式为GLFW_CURSOR_NORMAL。在一些平台上,如果已经有了输入焦点,这个光标就不会显示。
GLFWAPI int glfwJoystickPresent(int jid)
查询 *** 纵杆是否存在
GLFWAPI const float* glfwGetJoystickAxes(int jid, int* count)
返回 *** 纵杆所有轴的值,是一个数组,范围时-1到1
GLFWAPI const unsigned char* glfwGetJoystickButtons(int jid, int* count)
返回 *** 纵杆的所有butto的状态,是一个数组,元素是按下或释放GLFW_PRESS or GLFW_RELEASE
GLFWAPI const unsigned char* glfwGetJoystickHats(int jid, int* count)
返回 *** 纵杆所有hats的状态,返回的也是一个数组
GLFWAPI const char* glfwGetJoystickName(int jid)
返回 *** 纵杆的名字,返回的是字符串
GLFWAPI const char* glfwGetJoystickGUID(int jid)
返回 *** 纵杆的SDL兼容GUID,是一个UTF-8的16进制编码
GLFWAPI void glfwSetJoystickUserPointer(int jid, void* pointer)
*** 纵杆设置一个自动以指针值,
GLFWAPI void* glfwGetJoystickUserPointer(int jid)
返回用户自定义的 *** 纵杆指针值
GLFWAPI int glfwJoystickIsGamepad(int jid)
查询 *** 纵杆是否在gamepad上进行过map
GLFWAPI int glfwUpdateGamepadMappings(const char* string)
添加SDL_GameControllerDB gamepad映射。
GLFWAPI const char* glfwGetGamepadName(int jid)
获取 *** 纵杆游戏设备的名称
GLFWAPI int glfwGetGamepadState(int jid, GLFWgamepadstate* state)
获取游戏pad中 *** 纵杆映射的状态,用在Xbox等游戏pad上。
GLFWAPI void glfwSetClipboardString(GLFWwindow* window, const char* string)
设置字符串的剪切板
GLFWAPI const char* glfwGetClipboardString(GLFWwindow* window)
获取剪切板的内容,返回的时字符串。
GLFWAPI GLFWwindow* glfwGetCurrentContext(void)
返回当前县城的GL/ES上下文
GLFWAPI int glfwExtensionSupported(const char* extension)
查询指定的GL/ES扩展是否支持
GLFWAPI GLFWglproc glfwGetProcAddress(const char* procname)
赶回当前上下文支持的GL/ES函数地址,包含核心库和扩展库。
callback函数:
GLFWAPI GLFWjoystickfun glfwSetJoystickCallback(GLFWjoystickfun callback)
设置 *** 纵杆配置的回调函数,也可以覆盖原来的回调函数,当 *** 纵杆连接或者断开连接的时候调用回调函数。回调函数的格式为:void function_name(int jid, int event)
GLFWAPI GLFWmonitorfun glfwSetMonitorCallback(GLFWmonitorfun callback)
设置monitor的毁掉函数,如果之前又设置,会替换之前的值。
GLFWAPI GLFWwindowposfun glfwSetWindowPosCallback(GLFWwindow* window, GLFWwindowposfun callback)
设置window的position callback,当窗口移动的时候会调用这个回调函数,返回的位置是屏幕坐标的,左上角是原点
GLFWAPI GLFWwindowsizefun glfwSetWindowSizeCallback(GLFWwindow* window, GLFWwindowsizefun callback)
设置窗口size的callback函数,当窗口resize的时候会调用,也是屏幕坐标。
GLFWAPI GLFWwindowclosefun glfwSetWindowCloseCallback(GLFWwindow* window, GLFWwindowclosefun callback)
设置窗口关闭的callback,窗口关闭阿的时候调用。
GLFWAPI GLFWwindowrefreshfun glfwSetWindowRefreshCallback(GLFWwindow* window, GLFWwindowrefreshfun callback)
设置窗口刷新的callback函数,刷新窗口的时候调用,if the window has been exposed after having been covered by another window.
GLFWAPI GLFWwindowfocusfun glfwSetWindowFocusCallback(GLFWwindow* window, GLFWwindowfocusfun callback)
设置窗口的focus回调函数,当窗口window gains or loses input focus时调用.
GLFWAPI GLFWwindowiconifyfun glfwSetWindowIconifyCallback(GLFWwindow* window, GLFWwindowiconifyfun callback)
设置iconification回调函数,窗口is iconified or restored时调用
GLFWAPI GLFWwindowmaximizefun glfwSetWindowMaximizeCallback(GLFWwindow* window, GLFWwindowmaximizefun callback)
设置窗口最大化的回调函数,窗口最大化或复位时调用
GLFWAPI GLFWframebuffersizefun glfwSetFramebufferSizeCallback(GLFWwindow* window, GLFWframebuffersizefun callback)
设置framebuffer resize的回调函数,当framebuffer resize时调用
GLFWAPI GLFWwindowcontentscalefun glfwSetWindowContentScaleCallback(GLFWwindow* window, GLFWwindowcontentscalefun callback)
设置窗口的content scale回调函数,当窗口的content scale变化时调用
GLFWAPI GLFWkeyfun glfwSetKeyCallback(GLFWwiunning a test, x11perf determinendow* window, GLFWkeyfun callback)
设置按键的回调函数,在按键按下、重复和释放时调用回调函数。
GLFWAPI GLFWcharfun glfwSetCharCallback(GLFWwindow* window, GLFWcharfun callback)
设置字符的回调函数,在输入指定字符编码时调用该回调函数。
GLFWAPI GLFWcharmodsfun glfwSetCharModsCallback(GLFWwindow* window, GLFWcharmodsfun callback)
设置字符串编码修改的回调函数。
GLFWAPI GLFWmousebuttonfun glfwSetMouseButtonCallback(GLFWwindow* window, GLFWmousebuttonfun callback)
设置鼠标按键的回调函数,鼠标按下或释放时触发,回调函数的格式:void function_name(GLFWwindow* window, int button, int action, int mods)
GLFWAPI GLFWcursorposfun glfwSetCursorPosCallback(GLFWwindow* window, GLFWcursorposfun callback)
设置光标位置回调函数,光标移动时触发。
GLFWAPI GLFWcursorenterfun glfwSetCursorEnterCallback(GLFWwindow* window, GLFWcursorenterfun callback)
设置光标进入离开的回调函数,当光标进入或离开屏幕指定区域时触发。回调函数的格式为:void function_name(GLFWwindow* window, int entered)
GLFWAPI GLFWscrollfun glfwSetScrollCallback(GLFWwindow* window, GLFWscrollfun callback)
设置滚轮回调函数
回调函数void function_name(GLFWwindow* window, int path_count, const char* paths[])
GLFWAPI GLFWdropfun glfwSetDropCallback(GLFWwindow* window, GLFWdropfun callback)
设置path drop回调函数,当一个或多份额dragged paths are dropped时触发。
vulkan函数:
GLFWAPI int glfwVulkanSupported(void)
查询是否找到Vulkan loader and any minimally functional ICD
GLFWAPI const char** glfwGetRequiredInstanceExtensions(uint32_t* count)
返回GLFW需要的Vulkan instance extensions,返回的个数组,里面包含了,创建vulkan surface时GLFW要的Vulkan实例扩展。
GLFWAPI GLFWvkproc glfwGetInstanceProcAddress(VkInstance instance, const char* procname)
返回specified Vulkan instance函数地址.
GLFWAPI int glfwGetPhysicalDevicePresentationSupport(VkInstance instance, VkPhysicalDevice device, uint32_t queuefamily)
查询当前GLFW编译的指定物理设备的queue family是否显示图像
GLFWAPI VkResult glfwCreateWindowSurface(VkInstance instance, GLFWwindow* window, const VkAllocationCallbacks* allocator, VkSurfaceKHR* surface)
创建一个surface。
一、什么叫诗歌“诗”一词,本是四书、五经(诗、书、礼、易、春秋)中的《诗经》的简称。《诗经》本称“诗”,后被儒家奉为经典,才称《诗经》。《诗经》是我国第一部诗歌总集。诗,原本是配乐来唱的,所以也称“诗歌”,后演变成脱离音乐的一种文学体裁。
1、对诗歌的定义:
〈1〉《辞海》:是最早产生的一种文学体裁。它按照一定的音节、声调和韵律要求,用凝练的语言,充沛的感情,丰富的想象,高度集中地表现社会生活和人的精神世界。
〈2〉现代汉语词典:文学体裁的一种,通过有节奏、韵律的语言反映生活、抒发感情
2、对诗歌定义的诠释(依《现代汉语词典》说)
(1)有节奏、韵律的语言。
旧体诗在节奏、韵律方面有严格要求。尤其是唐代的近体诗和宋代的词,在字数、平仄、对仗、用典、韵脚等方面都有严格规定。
①节奏(或称节拍):指声音的轻重缓急与抑扬顿挫,主要表现在语气的间歇停顿上。
△王维《相思》:
红豆/生南国,春来/发几枝。愿君/多采撷,此物/最相思。
△杜牧《清明》:清明/时节/雨纷纷,路上/行人/欲断魂。
借问/酒家/何处有,牧童/遥指/杏花村。
诗歌可以没有严格的韵律,但必须有鲜明的节奏。郭沫若说:“没有节奏的便不是诗。”
②韵律:指诗词中的平仄格式和押韵规则。《辞海》:指诗歌中的声韵和节律。
△平仄:汉语古音有平、上、去、入四声(现入声字已在普通话中消失)。按现代汉语的四声(除轻生)分为阴平、阳平、上声、去声,入声字在京剧念白中还有:街。
平仄声的特点:平声:平缓悠长;仄声:短促急收。
利用文字的平仄,可以使诗歌具有很强的韵律感。唱歌时的拖腔都要落平声上才能延长, 例: 歌词 “十五的月亮” 中的 “亮”, 落在liang声上。
△押韵:指诗歌中某些句子末韵母相同或相近,使音调和谐优美。一般偶句押,首句可押可不押。新诗有几句押一次韵或不押韵的。例王之涣的诗:
△《登鹳雀楼》:白日依山尽,黄河入海流。欲穷千里目,更上一层楼。
△《凉洲词》:
黄河远上白云间,一片孤城万仞山。羌笛何须怨杨柳,春风不度玉门关。
(2)反映生活
①反映劳动生活:△古歌谣:断竹,续竹。飞土,逐肉。
△《诗经·伐檀》
坎坎伐檀兮,置之河之干兮。河水清且涟猗。不稼不穑,胡取禾三百产廛兮?不狩不猎,胡瞻尔庭有县貆兮?彼君子兮,不素餐兮!
②反映社会 石壕吏 新婚别
△杜甫的《三史》 潼关吏 《三别》 垂老别
新安吏 无家别
△杜甫的《自京赴奉先县咏怀五百字》名句:“朱门酒肉臭,路有冻死骨。”
△杜甫《兵东行》:“车辚辚,马萧萧,行人弓箭各在腰。耶娘妻子走相送,尘埃不见咸阳桥。牵衣顿足拦道哭,哭声直上干云霄……”
△《诗经·硕鼠》
③反映边塞生活
△王昌龄《从军行》:
(一)青海长云暗雪山,孤城遥望玉门关。 黄沙白战穿金甲,不破楼兰终不还。
(二)大漠风尘日色昏,红旗半卷出辕门。前军夜战洮河北,已报生擒土谷浑。
△王昌龄《出塞》:
秦时明月汉时关,万里长征人未还。但使龙城飞将在,不教胡马度阴山。
△王翰《凉州词》:
葡萄美酒夜光杯,欲饮琵琶马上催。 醉卧沙场君莫哭,古人征战几人回。
④反映爱情生活:△《关雎》△《孔雀东南飞》△李季《王贵与李香香》
⑤反映山水田园:
△陶渊明《归园田居》:
种豆南山下,草盛豆苗稀。晨兴理荒秽,戴月荷锄归。
道狭草木长,夕露沾我衣。衣沾不足惜,但使愿无违。
△陶渊明《饮酒·结庐在人境》中句:
“采局菊东篱下,悠然见南山。山气日夕佳,飞鸟相与还。”
△王维《渭川田家》:
斜光照墟落,穷巷牛羊归。野老念牧童,依杖候荆扉。雉雊麦苗秀,
蚕眠桑叶稀。田夫荷锄立,相见语依依。即此羡闲逸,怅然吟式微。
△贺敬之《桂林山水歌》
(3)抒发感情:
别林斯基:“感情是诗情天性的最主要的动力因素;没有感情就没有诗人,也没有诗歌。”诗歌抒发感情是多方面的:喜、怒、哀、乐、惊、恐、思。例:
①喜:杜甫《闻官军收河南河北》:
塞外忽传收蓟北,初闻涕泪满衣裳。却看妻子愁何在,漫卷诗书喜欲狂。
白日放歌须纵酒,青春作伴好还乡。即从巴峡穿巫峡,便下襄阳向洛阳。
②怒:岳飞《满江红》:
怒发冲冠,凭阑处、潇潇雨歇。抬眼望、仰天长啸,壮怀激烈。三十功名尘与土,八千里路云和月。莫等闲白了少年头,空悲切。 靖康耻,犹未雪;臣子憾,何时灭。驾长车踏破、贺兰山缺。壮志饥餐胡虏肉,笑谈渴饮匈奴血。待从头、收拾旧山河,朝天阙。
③哀:△李清照《声声慢》:
寻寻觅觅,冷冷清清,凄凄惨惨戚戚。乍暖还寒时候,最难将息。三杯两盏谈酒,怎敌他,晚来风急!雁过也,正伤心,却是旧时相识。
△李瑛《一月的哀思》:
敬爱的周总理,我不能去医院瞻仰你,只好攥一张冰冷的报纸,静静地,伫立在长安街的暮色里。任一月的风,撩起我的头发,任昏黄的路灯照着冰冷的泪滴……
④闺怨妇思:
△李清照《点降唇·闺思》:
“寂寞深闺,柔肠一寸愁千缕。惜春春去,几点催花雨……”
△李清照《一剪梅·别愁》:
红藕香残玉簟秋。轻解罗裳,独上兰舟。云中谁寄锦书来?雁字回时,月满西楼。 花自飘零水自流。一种相思,两处闲愁。此情无计可消除,才下眉头,却上心头。
△李白《春思》:
燕草如碧丝,秦桑低绿枝。当君怀旧日,是妄断肠时。春风不相识,何事入罗帏。
△李白《子夜吴歌》:
长安一片月,万户捣衣声。春风吹不尽,总是玉关情。何日平胡虏,良人罢远征。
△金昌绪《春怨》(唐):
打起黄莺儿,莫教枝上啼。啼时惊妾梦,不得到辽西。
二、诗歌发展的历程
↓1、古歌谣
↓2、诗经:305篇,5篇有目无辞,亦称“诗三百”。我国第 一部诗歌总集,诗经的“六 艺”:风(15国风160篇)、雅(朝廷官吏作品105篇)、颂(庙堂祭祀乐歌40篇)、赋(直陈其事)、比(打比方)、兴(先言他物,然后引出所歌咏之事)。
↓3、楚词:以屈原为代表继承“诗经”传统,创浪漫主义新诗体。
↓4、汉乐府:“乐府”是负责采风的音乐机关名称。“乐府双璧”:《木兰诗》、《孔雀东南飞》
↓5、唐诗:我国诗歌的黄金时代,三大诗人
↓6、宋词:豪放派(苏辛派)婉约派(姜夔、刘永、李清照)
↓7、元曲:含散曲和杂剧
↓8、自由诗(新诗):五四运动后的诗歌
在XCode中,我下了头搜索路径放在:/usr/local/include我下的库搜索路径放在:/usr/local/lib,/usr/local/lib/pkgconfig和/Users/Arkady/Desktop/glfw-2.7.2/lib(我知道这可能是太多了,但似乎海合会找不到功能...)。 我得到的5个错误:Undefined symbols:"_glfwSwapBuffers", referenced from:
_glfemPlotReshape in glfem.o
"_glfwOpenWindow", referenced from:
_glfemInit in glfem.o
"_glfwInit", referenced from:
_glfemInit in glfem.o
"_glfwSetWindowSizeCallback", referenced from:
_glfemInit in glfem.o
"_glfwSetWindowTitle", referenced from:
_glfemInit in glfem.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)